diff options
author | Norbert Preining <norbert@preining.info> | 2019-01-11 12:14:02 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-01-11 12:14:02 +0900 |
commit | ecacc7b84cdebdf9b1707a44c930b243bcfad52d (patch) | |
tree | 332f813c137c22497dbf77b79e51285e737fa9d7 /texmf-dist/doc/latex | |
parent | fe58f035cd3842213361d407fb3129cb4aa2d1ee (diff) |
eqexam update
Diffstat (limited to 'texmf-dist/doc/latex')
19 files changed, 14625 insertions, 13941 deletions
diff --git a/texmf-dist/doc/latex/eqexam/README.md b/texmf-dist/doc/latex/eqexam/README.md index b79ff587..325e2bd3 100644 --- a/texmf-dist/doc/latex/eqexam/README.md +++ b/texmf-dist/doc/latex/eqexam/README.md @@ -1,5 +1,5 @@ The eqexam Package -Dated: 2017-03-16 +Dated: 2018-12-13 Author: D. P. Story eqExam is a LaTeX package for writing exams, tests, quizzes, @@ -40,6 +40,14 @@ this package are as follows: folder. See also the series of blogs at http://www.acrotex.net/blog/?tag=fortextbook +What's New (2018-12-13) Changes to support the mi-solns package + +What's New (2018-04-15) Minor bug fixes + +What's New (2018-02-19): Extended the vertical space fill types +and added \fillineol. Refer to the table of contents under Sections 10.11 +and 10.12. + Sample files, previous distributed with eqexam are now available from http://www.acrotex.net/blog/?cat=107 diff --git a/texmf-dist/doc/latex/eqexam/eqecus.opt b/texmf-dist/doc/latex/eqexam/eqecus.opt new file mode 100644 index 00000000..15c45866 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/eqecus.opt @@ -0,0 +1,12 @@ +% +% AcroTeX Software Development Teams -- 2010 +% http://www.acrotex.net +% +% The following options combination of options are special to the +% @EASE application. Do not change. +% +\DeclareOptionX{atbdbopts}{% + \ExecuteOptionsX{online,forcolorpaper,nosolutions,nopoints,nototals,nospacetowork,obeylocalversions,myconfig} +} +\endinput + diff --git a/texmf-dist/doc/latex/eqexam/eqexamman.pdf b/texmf-dist/doc/latex/eqexam/eqexamman.pdf Binary files differindex 15c7fbc1..b15be4c4 100644 --- a/texmf-dist/doc/latex/eqexam/eqexamman.pdf +++ b/texmf-dist/doc/latex/eqexam/eqexamman.pdf diff --git a/texmf-dist/doc/latex/eqexam/eqexamman.tex b/texmf-dist/doc/latex/eqexam/eqexamman.tex new file mode 100644 index 00000000..d1c16c01 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/eqexamman.tex @@ -0,0 +1,5140 @@ +\documentclass{article} +%\usepackage{makeidx,showidx} +\usepackage[fleqn]{amsmath} +\usepackage{graphicx} +\usepackage[ + web={designv, + latextoc,forcolorpaper, + centertitlepage}, + eforms +]{aeb_pro} +\usepackage[bypasspkgpagestyle,nomarginwrite,usecustomdesign, + useclassmaketitle,flextended +]{eqexam} +%\usepackage[designv, +% latextoc,forcolorpaper, +% centertitlepage]{web} +%\usepackage{eforms} + +%\usepackage[nopoints,fortextbook,nomarginwrite,usecustomdesign]{eqexam} +%\usepackage{longtable,colortbl} +%\useFullWidthForPaper + +\usepackage{eqexaman} + +\usepackage{srcltx} + +\hfuzz=1pt + + +\def\AEBBook{\textsl{{Acro\!\TeX} eDucation System Tools: {\LaTeX} for interactive PDF documents}} +\def\AEBP{\textsf{AeB Pro}} + +\DeclareFontFamily{U}{wi}{} +\DeclareFontShape{U}{wi}{m}{n}{<-> wingding}{} +\DeclareFontFamily{U}{webd}{} +\DeclareFontShape{U}{webd}{m}{n}{<-> webdings}{} + +\font\zqacr=zqacr at 8pt + +\newcommand\Com[2][]{\texttt{#2}} +\newcommand\sCom[2][]{} +\newif\ifusebw \usebwfalse + +\setlength{\mathindent}{\leftmargini} + +\edef\amtIndent{\the\parindent} + +%\def\meta#1{\textit{$\langle$#1$\rangle$}} + +\makeatletter + +\let\ipkg\@gobble +%\def\numberline#1{{\setlength{\fboxsep}{0pt}\fbox{\hb@xt@\@tempdima{#1\hfil}}}} + +%\renewcommand*\l@section{\addvspace{2pt}\@dottedtocline{1}{1.5em}{2.5em}} +\renewcommand*\l@subsection{\addvspace{1pt}\@dottedtocline{2}{1.5em}{3em}} +\renewcommand*\l@subsubsection{\addvspace{1pt}\@dottedtocline{3}{4.5em}{1.2em}} + +%\renewcommand*\l@subsubsection{\addvspace{1pt}\@dottedtocline{3}{7.4em}{1.2em}} + +%\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +%\renewcommand*\l@subsection{\@dottedtocline{2}{4.8em}{3.4em}} +%\renewcommand*\l@subsubsection{\@dottedtocline{3}{8.2em}{1.2em}} +%\renewcommand*\l@subsubsection{\@dottedtocline{3}{7em}{1.2em}} + +\renewcommand{\paragraph} + {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt} + {\normalfont\normalsize\bfseries}} +\renewcommand{\subparagraph} + {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}% + {\normalfont\normalsize\bfseries}} + +\newcommand{\exAeBBlogPDF}[2][\urlAcroTeXBlog/]{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi +\vskip\medskipamount\noindent\makebox[0pt][r]{% + \makebox[0pt][l]{\textcolor{blue}{\Pisymbol{webd}{254}}}% + \raisebox{-2pt}{\color{red}\href{#1?#2}{{\zqacr b\hspace{9.5pt}}}}\enspace}\ignorespaces} + +\newcommand{\exAeBBlogArticle}[2][\urlAcroTeXBlog/]{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi +\vskip\medskipamount\noindent\makebox[0pt][r]{\makebox[0pt][l]{\hspace{-1pt}\textcolor{blue}{\Pisymbol{webd}{254}}}% +\raisebox{.5pt}{\color{red}\href{#1?#2}{\ding{045}}\hspace{7.5pt}\enspace}}\ignorespaces} +\definePath{\urlAcroTeXBlog}{http://www.acrotex.net/blog} + +\renewcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont #1} +\newcommand{\aebDescriptionlabel}[1]{% + \setlength\dimen@{\amtIndent+\labelsep}% + {\hspace*{\dimen@}#1}} +\makeatother +\newenvironment{aebDescript} + {\begin{list}{}{\setlength{\labelwidth}{0pt}% + \setlength{\leftmargin}{\leftmargin}% + \setlength{\leftmargin}{\leftmargin+\amtIndent}% + \setlength\itemindent{-\leftmargin}% + \let\makelabel\aebDescriptionlabel + }}{\end{list}} + +\def\hardspace{{\fontfamily{cmtt}\selectfont\symbol{32}}} +\def\AcroBlog{{Acro\!\TeX} Blog} +\newlength{\aebdimen} +\def\anglemeta#1{$\langle\textit{\texttt{#1}}\rangle$} +\let\ameta\anglemeta +\def\meta#1{\textit{\texttt{#1}}} +\let\pkg\textsf +\let\env\texttt +\let\opt\texttt +\let\app\textsf +\def\lp{(}\def\rp{)} +\def\AEB{\textsf{AeB}} +\def\AcroTeX{Acro\!\TeX} +\def\HTML{HTML}\def\FDF{FDF} +\def\PDF{PDF}\def\URL{URL} +%\let\amtIndent\leftmargini +\def\bNH{\begin{NoHyper}}\def\eNH{\end{NoHyper}} +\def\nhnameref#1{\bNH\nameref{#1}\eNH} +\def\nhNameref#1{\bNH\Nameref{#1}\eNH} +\def\nhurl#1{\bNH\url{#1}\eNH} +\def\grayV#1{\textcolor{gray}{#1}} +\def\darg#1{\{#1\}} +\def\parboxValign{t} +\renewcommand*{\backrefalt}[4]{% + \ifcase #1\or + See page~#2.\else See pages~#2.\fi +} +\newenvironment{aebQuote} + {\list{}{\leftmargin\amtIndent}% + \item\relax}{\endlist} +\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{% + \raisebox{.5\baselineskip+#1}{% + \expandafter\parbox\expandafter[\parboxValign]% + {\marginparwidth}{\aebbkFmtMp#2}}}} +\def\aebbkFmtMp{\kern0pt\itshape\small + \ifusebw\color{gray}\else\color{blue}\fi + \raggedleft\hspace{0pt}} +\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} +\def\FitItIn{\eq@fititin} +\def\endredpoint{\FitItIn{{\large\ifusebw\color{black}\else\color{red}\fi$\blacktriangleleft$}}} + +\reversemarginpar + +%\makeindex + +\title[dps]{The \texorpdfstring{\textsf{eqexam} Package\\}{eqexam Package, } +part of the\texorpdfstring{\\}{ }\texorpdfstring{\AcroTeX}{AcroTeX} eDucation Bundle} +\author{D. P. Story} +\subject{% + A LaTeX package for creating Test, quizzes, both for paper and for + online use; supports writing problems sets for textbook authors.% +} +\keywords{LaTeX, hyperref, PDF, exercises, quizzes} +\university{{\AcroT} Software Development Team} +\email{dpstory@acrotex.net} +\version{5.1.3, 2018/12/13} +\copyrightyears{2005-\the\year} + +\renewcommand{\exsectitletext}{Solutions to exams in this manual} + + +\chngDocObjectTo{\newDO}{doc} +\begin{docassembly} +var titleOfManual="The eqexam Manual"; +var manualfilename="Manual_BG_Print_eqexam.pdf"; +var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown +var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate; +var doc; +var buildIt=false; +if ( buildIt ) { + console.println("Creating new " + manualfilename + " file."); + doc = \appopenDoc({cPath: _pathToBlank, bHidden: true}); + var _path=this.path; + var pos=_path.lastIndexOf("/"); + _path=_path.substring(0,pos)+"/"+manualfilename; + \docSaveAs\newDO ({ cPath: _path }); + doc.closeDoc(); + doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true}); + f=doc.getField("ManualTitle"); + f.value=titleOfManual; + doc.flattenPages(); + \docSaveAs\newDO({ cPath: manualfilename }); + doc.closeDoc(); +} else { + console.println("Using the current "+manualfilename+" file."); +} +var _path=this.path; +var pos=_path.lastIndexOf("/"); +_path=_path.substring(0,pos)+"/"+manualfilename; +\addWatermarkFromFile({ + bOnTop:false, + bOnPrint:false, + cDIPath:_path +}); +\executeSave(); +\end{docassembly} + +\begin{document} + +\maketitle + +\tableofcontents + +\section{Forward} + +For the past several years (this year is \the\year), I've been writing a book +titled, +\begin{quote} +\AEBBook. +\end{quote} +The book~\cite{book:AEBB} covers {\AEB}, which includes the \pkg{eforms} +package, and {\AEBP} in \emph{great detail} and includes many examples to +illustrate concepts and techniques. Numerous new examples are available on +the CD-ROM that accompanies the book. + +During the time of the writing, each of the packages covered was examined, +bugs were fixed, and many new and major features were created. Any new +features developed in the course of writing the book are documented in the +book; however, they are \emph{not included in this documentation}. You can +either buy the yet-to-be-submitted book sometime in the future, or discover +the features by studying the DTX documentation of the program files. Sorry, +it took me three years to write the book, I don't want to spend another year +on this documentation. \verb!:-{)! + +\begin{flushright} +Dr. D. P. Story\\[3pt] +\today +\end{flushright} + +\section{Introduction} + +In my classroom work at The University of Akron, I've been using a +personal {\LaTeX} package, which is called \textsf{eqexam}, for creating +my in-class tests, quizzes, homework assignments, and review documents +(pre-tests/sample tests). In recent weeks---at the end of the Fall +Semester, 2004, and prior to the Spring Semester, 2005, I have filled the +mundane and boring days with work on \textsf{eqexam}, fixing and enhancing +it quite a bit. + +The \textsf{eqexam} package is a stand-alone for {\LaTeX}, but is also +tightly integrated with the {\cAcroEB}. \textsf{eqexam} will be +distributed by itself, as well as a part of the {\cAcroB}. The integration +with the {\AcroB} gives it many of the online features that users of the +Bundle are familiar with. + +\newtopic (Version 3.0 or later) The method of formatting an \textsf{eqexam} +document has changed, each \texttt{problem}/\texttt{problem*} environment +is now in a list environment, the \texttt{eqequestions} environment. This +environment is not normally used by the document author, but its +parameters may be redefined. The purpose of this reformatting, is to open +up \textsf{eqexam} for use by other packages. Textbook authors can now, I +hope, easily integrate \textsf{eqexam} into the custom book format +being used. + +\newtopic Let's have an overview of the package, with suggestions for +possible uses. +\begin{enumerate} + \item The first, and most obvious application of this package + is to create a \textcolor{blue}{pExam} or a + \textcolor{blue}{pQuiz}. (Here, the `\textcolor{blue}{p}' + prefix refers to \underline paper or \underline pulp; thus, we + can use \textsf{eqexam} to write paper Exams and/or pulp + Quizzes). You can write the questions and the solutions, and + publish (i.e., print the document on a printer) the exam/quiz + with no solutions---ready to be taken in class---, or {\LaTeX} + the source document with solutions listed after each question + to create an answer key, for your personal use, or for the use + by the class. + + \item So much for pulp. Now on to `\textcolor{blue}{e}' (for + electronic publication). In some of my classes, I put sample + questions (review tests) on the web as {\PDF} documents. In + this case, you can create a {\PDF} document without the + solutions, and give the class time to solve the problems; then + publish the document (in {\PDF} on the web) with solutions. + The solutions can appear immediately after the questions, or + can be accumulated at the end of the document. + + \item[] In the case where the solutions are at the end of the + document, you can add links from the question to the solution. + + \item[] Documents can be published with color (to enhance the + on screen appearance) or can be published in black and white, + meant to be printed. Or, you can do both: a screen + version and a paper version. + + \item By invoking the \texttt{online} option, the white space + left for hand-written answers to the questions become Acroform + multi-line text fields, multiple choice questions become radio + buttons, and fill-in questions also become text fields. The + student can bring up the exam, and take it at a computer (in a + CBT\footnote{Computer Based Testing.} lab). After the student + is finished, he/she can print out the exam, and submit it to + the instructor for traditional grading. + + \item Now, here is an exciting feature of the \textsf{eqexam} + package, that of email submittal! This feature is not too + useful for technical fields (i.e., mathematics related fields) + that require students to enter special symbols, but for some + academic disciplines (English, History, Sociology, Politics + and Government, etc.) this feature could be quite + exciting.\footnote{Of course, I am addressing now the some six + people worldwide in these fields that use {\LaTeX} and \PDF! + For you six, this feature is for you!} + + \item[] When you take the \texttt{email} option of + \textsf{eqexam}, as with the \texttt{online} option, the white + space left for hand-written answers to the questions become + Acroform multi-line text fields, multiple choice questions + become radio buttons, and fill-in questions also become text + fields. Additionally, a button is automatically provided to + submit by email the results of the test to the instructor. The + results arrive at the instructor's mailer as an {\FDF} + attachment. The instructor can open the {\FDF} and view in the + originating {\PDF} the responses given by the student. + + \item[] The instructor can print out the document and grade in + a traditional way, or if the instructor has + \textbf{Acrobat~Pro} or \textbf{Standard}, the instructor can + use mark-up annotations within the PDF, save a copy of the + students test to a class folder, and email a copy of the + students exam, marked up with grade.\footnote{Seems doubtful + that anyone at this time has the expertise to do this! But + it's available if anyone ever wants it.} + + \item[] If the exam is given for credit, it can be taken in a + secure lab. + + \item Perhaps a more reasonable application of this email + submission feature of \textsf{eqexam} is the building and + publication of surveys and questionnaires! Perhaps + teacher evaluations! The environments of \textsf{eqexam} can + be easily used to write surveys and questionnaires to + solicit the opinion of a target population. Responses are + emailed to the designated person, who can summarize them. + + \item[] By the way, speaking of summarizing results, a new + feature of \textbf{Acrobat Pro~7.0}, allows you to take a + folder of {\FDF} files, such as the ones created by email + submission, and extract all form fields and place results to a + comma-delimited file (\texttt{.csv}). This comma-delimited + file can be opened by a spreadsheet program and manipulated. + Cool. + + \item (08/05/11) Version 3.0 of \textsf{eqexam} has a major option, + \texttt{fortextbook},\footnote{The \texttt{fortextbook} option is briefly + described on page~\pageref*{fortextbook}.} designed to support (U.S.) + textbook authors. Documentation for this option is found in the + \texttt{doc/fortextbook} folder. See also the series of blogs at the + \ulSetLink{http://www.acrotex.net/blog/?tag=fortextbook}{{Acro\TeX} Blog}. + +\end{enumerate} + +%\subsection{What's New} +% +%\begin{enumerate} +% +% \item (Version 1.7) Added the ability to randomize items in a +% multiple choice/selection list. See \Nameref{s:random} and the +% \texttt{allowrandomize} option, as listed in \Nameref{eqoptions}. +% +% \item (Version 1.6) In this version, I've added the command +% \cs{thisterm} (see \Nameref{preamble}) and expanded the control of +% multiple versions. Now you can have up to $26$ versions of the same +% test! For details of this new multiple version scheme, see the +% discussion in \Nameref{mutiVerNew}. +% +% \item[] Also added are \cs{forproblem} and \cs{foritem}. See \mlNameref{solnSets}. +% +% \item (Version 1.4) Added a \texttt{manswers} environment for +% multiple choice questions where multiple selections are permitted. +% \textsf{Exerquiz} version 6.04 or greater is required with the +% \texttt{online} and \texttt{email} options. See the section +% \Nameref{multiSelect} for details. +% +% \item (Version 1.3) Added in the \cs{bChoices} and +% \cs{eChoices} pair for specifying multiple choice +% alternatives. See the brief discussion in +% the section \Nameref{multichoice}. +%\end{enumerate} + +\section{Required and Optional Packages} + +The following packages that are not part of the normal {\LaTeX} +distribution are \emph{required}: +\begin{enumerate} +\item \texttt{calc}: Used for calculation of the position of the + marginal points. + +\item \texttt{pifont}: Used when the \texttt{proofread} option is + used to indicate the correct answers to multiple choice questions. + +\item \texttt{comment}: Used to have optional content, useful for + developing exams for multiple sections of the same class. + +\item \texttt{multicol}: Used to create questions in multi-column mode. + +\item \texttt{verbatim}: Used to write solutions to the hard drive. +\end{enumerate} + +\noindent Additionally, the following packages may be used +depending on the options chosen: +\begin{enumerate} +\item \texttt{web}: Used when the \texttt{pdf}, \texttt{links}, + \texttt{online} or the \texttt{email} option is taken. + +\item \texttt{exerquiz}: Used when the + \texttt{links}, \texttt{online} or the \texttt{email} option is + taken. +\end{enumerate} +Of course, \texttt{web} and \texttt{exerquiz}, in turn, input a +whole plethora of packages. Consult the documentation for the +\cAcroEB. + +\section{Installing \textsf{eqexam}} + +Create a folder in your \texttt{latex} search path named +\textsf{eqexam} and place the package files \texttt{eqexam.dtx}, +\texttt{eqexam.ins}, \texttt{eqexam.def} and any \texttt{.cfg} +files. (If you have an \texttt{acrotex} folder, you can place the +files there as well.) + +Next, \texttt{latex} \texttt{eqexam.ins} to create +\texttt{eqexam.sty} and \texttt{eqalone.def}. The other files +(\texttt{*.tex} and \texttt{*.pdf}) can be placed anywhere. + +The \textsf{eqexam} is a stand alone package that is tightly +integrated with the \cAcroB. The file \texttt{eqexam.def} comes +from the {\cAcroB} to provide the necessary support for many of +the commands and environments defined in \textsf{eqexam}. The file +\texttt{eqalone.def} are miscellaneous definitions that are needed +for the stand-alone version. When you choose one of the options +\texttt{links}, \texttt{online} or \texttt{email}, then +\textsf{Exerquiz} is included in the package files. When you use +one of these options you will need the most recent version of the +\cAcroEB, the one published concurrently with this package. + +\section{Demonstration files} + +\exAeBBlogPDF{cat=107} The original +\href{\urlAcroTeXBlog/?cat=107}{\pkg{eqexam} demonstration files} are posted +on the \href{\urlAcroTeXBlog/}{{Acro\TeX} Blog}. Throughout the manual, individual +files are references and a link is provided to that resource. The source file is attached +to all PDFs on the {Acro\TeX} Blog website. + +\exAeBBlogPDF{tag=eqexam-package} +Additional demonstration files developed after the original set are also available +from the {Acro\TeX} Blog. See the articles tagged as +\textit{\href{\urlAcroTeXBlog/?tag=eqexam-package}{eqexam-package}}. + +%http://www.acrotex.net/blog/?tag=eqexam-package + + +\section{Page Layout Considerations} + +With Version~3.0, you can design your own page layout scheme, perhaps to +conform to a book style. The following are some basics on formatting for +\textsf{eqexam}. + +The following two commands appear in \textsf{eqexam}, the first sets some basic +page parameters. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand{\eqeSetExamPageParams}{% + \setlength{\headheight}{12pt} + \setlength{\topmargin}{-.5in} + \setlength{\headsep}{20pt} + \setlength{\oddsidemargin}{0pt} + \setlength{\evensidemargin}{0pt} + \setlength{\marginparsep}{11pt} + \setlength{\marginparwidth}{35pt} + \setlength{\footskip}{11pt} +} +\end{Verbatim} +The second command calculates values for \cs{textwidth} and \cs{textheight} +based on the the settings of the first command. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand{\eqExamPageLayout}{% + \setlength\textwidth\paperwidth + \addtolength{\textwidth}{-2in} + \addtolength{\textwidth}{-\oddsidemargin} + \setlength\textheight{\paperheight} + \addtolength\textheight{-2in} + \addtolength\textheight{-\headheight} + \addtolength\textheight{-\headsep} + \addtolength\textheight{-\topmargin} + \addtolength\textheight{-\footskip} +} +\end{Verbatim} +When the package option \texttt{usecustomdesign} \textit{is not taken,} +then the two commands \cs{eqeSetExamPageParams} and \cs{eqExamPageLayout} +are executed immediately after the above definitions. These are the +original parameters used by \textsf{eqexam}, designed to yield a maximum +text body in which to typeset an exam. The margins are set at 1 inch, the +\cs{topmargin} is raised up, all to maximize space. + +Now, if the package option \texttt{usecustomdesign} is specified, the +commands \cs{eqeSet\-Exam\-Page\-Params} and \cs{eqExamPageLayout} are \emph{not +executed}, the package designer can either do a \cs{renewcommand} for +these two commands in the preamble with custom values inserted (and +execute \cs{eqeSetExamPageParams} and \cs{eqExamPageLayout}), or the +designer may use another package to set the page layout parameters (or +take the default of the class being used). In the latter case, +neither \cs{eqeSetExamPageParams} nor \cs{eqExamPageLayout} should be executed. + +\newtopic The following commands directly effect how the problems are +displayed within an \textsf{eqexam} environment. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\eqexammargin{\normalsize\normalfont\bfseries00.\ } +\end{Verbatim} +The command \cs{eqexammargin} is a convenient way of specifying the +\cs{labelwidth} as set by the \texttt{eqequestions} environment (see +below). The command uses \cs{settowidth} to set the \cs{eqemargin} length. +The \cs{eqemargin} may also be set directly with \cs{setlength}. +\cs{eqexammargin} can be executed anytime between exam environments (or +even between problems, though this is not a intuitive option). Normally it +is executed once for the entire document; but may be executed multiple +times to change margins. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand{\widthtpboxes}{35pt} +\end{Verbatim} +This command sets the width of the boxes that appear in the right margin +when one of more of the options \texttt{pointsonright}, +\texttt{pointsonboth}, \texttt{totalsonleft}, \texttt{totalsonright}, are +used. These boxes are used for exams, and not relevant for problem sets of +textbooks. Normally, this parameter is not redefined. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newenvironment{eqequestions}{% + \begin{list}{}{% + \setlength{\labelwidth}{\eqemargin}% + \setlength{\topsep}{3pt}\setlength{\parsep}{0pt}% + \setlength{\itemindent}{0pt}\setlength{\itemsep}{3pt}% + \setlength{\leftmargin}{\labelwidth}% + \settowidth{\labelsep}{\ }% + }\item\relax}{\end{list}} +\end{Verbatim} +This environment is opened at the beginning of a \texttt{problem} +(\texttt{problem*}), and closed at the end of these environments. + +\section{Building an Exam} + +In this section, we outline the steps to create an exam using the +\textsf{eqexam} package. Consult the sample exams for additional +examples. + +\subsection{The Preamble}\label{preamble} + +Of course, we begin with the standard article class, and the +\textsf{eqexam} package: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\documentclass{article} +\usepackage[!meta(options)]{eqexam} +\end{Verbatim} +\noindent The \meta{options} are discussed in +section~\ref{eqoptions}. Next comes a exam identification +information: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\title[T1]{Test 1} +\subject[C1]{Calculus I} +\author{D. P. Story} +\keywords{Calculus I, Section 004} +\university{% + THE UNIVERSITY OF AKRON\\ + Mathematics and Computer Science +} +\date{\thisterm, \the\year} +\duedate{October 17, 2005} +\end{Verbatim} +\noindent The \cs{title}, \cs{subject}, \cs{author} and \cs{date} +are the same as is used in the \textsf{web} package. These are +used by the standard {\LaTeX} macro to create the heading line of +the first page of the exam, and are used in the running headers. + +The \cs{title}, \cs{subject} have optional first arguments, where +you can list a shorted version of the title or the subject. The +shortened versions, if present, are used in the running headers. + +The \cs{keywords} is used when you publish your exam in {\PDF} and +you use the \texttt{pdf} option (or \texttt{online}, \texttt{links}, +\texttt{email}). The value of the argument of \cs{keywords} appears +in the keywords field of the document info dialog. + +When you take the \texttt{coverpage} option, the value of +\cs{university} is used, along with some of the others on the +cover page. + +I've also defined a keyword of \cs{duedate}, this might be useful +when using \textsf{eqexam} to create homework assignments with a +due date, or just to record the date of the exam. The argument of \cs{duedate} fills the text macro +\cs{theduedate}. So that if you say \verb|\duedate{05/31/06}|, the macro +\cs{theduedate} will expand to `05/31/06'. + +\newtopic Beginning with version~1.6, \cs{thisterm} is defined. +The academic year of many American universities are divided into semesters +(or terms); Fall, Spring, and Summer. The command \cs{thisterm} takes the current +date and determines if it is the Fall, Spring or Summer Semester. For example, +if the date of the compile is October 17, 2005, then \verb!\thisterm, \the\year! +expands to `Fall, 2005'. This command is useful with the \cs{date} command. + +The command \cs{thisterm} can be redefined to conform to the terms +of the document author's university. See the definition in +\texttt{eqexam.dtx}, copy and modify it. + +\subsection{The \texttt{exam} Environment}\label{exam} + +An exam is contained within the \texttt{exam} environment. + +One of the things that I do in my courses, especially for the +final exam, is to have a two-part exam. Typically, the first part +is worth $100$ points and covers the new material not already +tested; the second part is usually a $50$ point review. I grade +these two parts separately and record them separately. Therefore, +an \textsf{eqexam} test may contain one or more \texttt{exam} +environments.\footnote{Remember, this was originally a personal +package, meant to suit my own needs.} + +\newtopic After the preamble, we then say +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{document} + +\maketitle + +\begin{exam}[Part I.]{Part1} + +\begin{instructions}[Part I.] +Solve each of the problems without error. If you make an error, +points will be subtracted from your total score. +\end{instructions} +... +... +... +\end{exam} + +\begin{exam}[Part II.]{Part2} + +\begin{instructions}[Part II.] +The following is a short review of previously mastered material. +\end{instructions} +... +... +... +\end{exam} +\end{document} +\end{Verbatim} +After the \verb+\begin{document}+ and standard \cs{maketitle}, we begin an +exam by opening an \texttt{exam} environment. + +\settowidth{\aebdimen}{\ttfamily\string\begin\darg{exam}[\meta{friendly\_name}]\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\begin{exam}[!meta(friendly_name)]{!meta(exam_name)} +... +\end{exam} +\end{dCmd} +\noindent This environment has two arguments: the first optional, the second +required. The first argument is a user friendly name (used when the solutions +are listed at the end of the document when there are multiple \texttt{exam} +environments); the second required argument is the name of the of the exam, +\texttt{Part1} or \texttt{Part2}, for example. This argument is used to build +the names of the PDF Acroform field names. This argument should consist of +letters and numbers only. You can use the command \cs{autoExamName} for the +\meta{exam\_name}; this command will name each \texttt{exam} environment +\texttt{exam1}, \texttt{exam2}, \texttt{exam3}, etc. + +Following the opening of the exam, typically, the instructor would have +some instructions, this is the purpose of the \texttt{instructions} +environment. It has one optional argument, heading text for the +instructions; if this optional parameter is not provided, then the default +word is used, the default word is determined by \cs{defaultInstructions}, +its default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\defaultInstructions{Instructions.} +\end{Verbatim} +Following this label, the total number of points for this part is +inserted, unless the \texttt{nosummarytotals} option is taken. + +\redpoint The optional argument of the \texttt{instructions} +environment has a color associated with it, and is visible when you +compile the document with the \texttt{forcolorpaper} option. This +color can be set by the command \cs{instructionsColor}; this command +takes a single argument, a named color: +\begin{Verbatim}[xleftmargin=\amtIndent] +\instructionsColor{blue} +\end{Verbatim} +\noindent The above is the default definition. + + +\newtopic At this point, you would insert your questions. Following the +listing of all the questions (and optionally, their solutions), you +finish up by closing out the \texttt{exam} environment. + +Repeat, if additional parts to the exam are desired. Finally, +finish off the document with \verb+\end{document}+. + +\redpoint You must \texttt{latex} your document \emph{three times} to be +sure all points have been properly calculated. + +\subsection{The \texttt{problem} and \texttt{problem*} Environments} + +All questions are posed using the \texttt{problem} and +\texttt{problem*} environments. The former is for a single +question, the latter is for a question with multiple parts. + +\subsubsection{\texttt{problem}}\label{problem} + +The \texttt{problem} encloses a single question; the question +itself may contain special constructs such as one or more fill-in +the blanks. + +The syntax for \texttt{problem} is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont, + commandchars=!()] +\begin{problem}[!meta(num)|*!meta(num)|empty][h|H] +!anglemeta(Statement of question, which may contain special constructs) +... +... +\begin{solution}[!meta(vspace),nLines=!meta(n)] +... +... +\end{solution} +\end{problem} +\end{Verbatim} +\noindent The environment takes two optional arguments. The first +argument \meta{num} is the number of points for this problem, for +example, if we want to have a $5$ point question, we would begin the +environment like so, \verb+\begin{problem}[5]+; on the other hand, if we +say \verb+\begin{problem}+, the problem has no points associated with it. +If you specify points weight for a problem, the points appear in the +margins (when one of the option \texttt{pointsonleft}, +\texttt{pointsonright}, or \texttt{pointsonboth} is specified); if the +\texttt{*} form is specified (\meta{*num}), the point weight appears +``in-line,'' just after the problem number; thus, typesetting a problem +with the specification \verb!\begin{problem}[*5]! yields +\begin{quote} +\textbf{1.} (5 pts) \dots +\end{quote} +This is useful when the problems are put into a two-column format; the +problems in the right-hand column do not have the margin to hold the +points, in this case, we place the points ``in-line.'' + +\newtopic The \texttt{problem} is actually a redefined \texttt{exercise} +environment, as defined in \textsf{exerquiz}. The second parameter +is inherited from the \texttt{exercise} environment. The second +argument can optionally be an \texttt{h} or a \texttt{H}. + +Use \texttt{h} if you do not want the solution to appear at the +end of document (when you do not use the \texttt{nosolutions} or +the \texttt{solutionsafter} options); the solution, however, will +appear if the \texttt{solutionafter} option is specified. + +For the \texttt{H} argument, the solution will not appear at the +end of the document (just as in \texttt{h}), nor will it appear if you +specify the \texttt{solutionsafter} option. + +To make things work correctly, if you do not want to have points +for a question and want to hide the solution, use `\texttt{[]}' +(empty brackets with no spaces) for the first argument. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[][H] +($5$ Points Extra Credit) Solve this problem for extra credit. +\begin{solution} +This solution will not appear in all cases, unless the second +parameter is eliminated or is changed to h, in the latter case, +the solution appears just for \texttt{solutonsafter}. +\end{solution} +\end{problem} +\end{Verbatim} +\noindent Here, this problem has no points that will be added into +the total number of points for the test. + +The \texttt{solution} environment encloses the solutions. This environment is +optional. The environment takes at most two optional parameters, +\meta{vspace} and \texttt{nLines=\meta{n}}. The \meta{vspace} parameter is a +length that determines the amount of vertical space to leave for the student +to work the problem. The +\texttt{nLines=\meta{n}}\FmtMP{\texttt{nLines=\meta{n}} explained} +specification signals \pkg{eqexam} to leave \meta{n} lines of vertical space; +each line is \cs{wlVspace} in height. (For more information on \cs{wlVspace}, +read about the \texttt{linegap} key in Section~\ref{ss:VSFT}.) This vertical +space is \emph{created only} when the document author takes the +\texttt{nosolutions} or \texttt{vspacewithsolns} option. For example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[10] +Do this problem. +\begin{solution}[2in] +This is the solution. +\end{solution} +\end{problem} +\end{Verbatim} +This defines a $10$ point problem and leaves $2$ inches of vertical space +following the problem statement for the student to respond. The vertical +space is generated provided the \texttt{nosolutions} or \opt{vspacewithsolns} +option has been taken. + +Be aware that the solution environment searches for its optional +parameter, and will expand macros looking for a left bracket (\texttt{[}). +In documents where the optional parameter is not used; this can lead to +problems in compiling. For example, if you say, +\verb!\begin{solution} \textbf{My solution:}...!, the command \cs{textbf} +will be expanded prematurely and result in `My solution' not appearing in +bold. Similarly, if you write \verb!\begin{solution} \begin{equation}...! +can lead to compilation stopping. Suggested workarounds: +\begin{itemize} + \item Supply empty brackets: \verb!\begin{solution}[]! + \item Use \cs{relax}: \verb!\begin{solution}\relax\textbf{...}!. + The \cs{relax} should not be on the line by itself. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{solution}\relax % Not this +\textbf{...} +... +\end{Verbatim} +The above causes an unwanted newline. The next two examples show the +``correct'' method. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{solution}\relax\textbf{...} % correct +... +\end{Verbatim} +\noexpand The \cs{relax} appearing on the second line. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{solution} +\relax\textbf{...} % correct +... +\end{Verbatim} +\end{itemize} +If you have no need for the vertical space in your document and putting in +these workarounds is too much trouble, you can use a global solution. Use +\cs{noSolnOpt} to globally turn off the check for the option parameter by +the \texttt{solution} environment; \cs{ckSolnOpt} turns on parameter +checking (the default). To summarize: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\ckSolnOpt % turn on checking for the optional argument (the default) +\noSolnOpt % turn off checking for the optional argument +\end{Verbatim} +Place either of these two commands between problems to turn off (or back on) the +parameter checking. + +\redpoint See \Nameref{eqoptions} for more details on +the two options \texttt{nosolutions} and \texttt{solutionsafter}. + +\paragraph*{Optional arguments of \env{solution} environment.} +The \env{solution} environment takes at most two optional arguments \meta{vspace} and \texttt{nLines=\meta{n}}. +If both are specified, by default the \meta{vspace} parameter is used. The command +\cs{usenLineDimen} changes the preference to the line specification; \cs{useVspaceDimen} switches +the preference back to the \meta{vspace} dimension. + +\subsubsection{\texttt{problem*}}\label{problemstar} + +This environment is used when you want to ask a multi-part +question, a series of related questions that are to be treated as +a group. + +The syntax is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont, + commandchars=!()] +\begin{problem*}[!meta(num)|!anglemeta(num)ea|\auto|empty][\Do!anglemeta(do_num)] +Do each of the following problems, and be quick about it. +\begin{parts} + +\item[h|H] The first question. +\begin{solution}[!meta(vspace),nLines=!meta(n)] +This is the solution to the first problem. +\end{solution} + +\item[h|H] The second question. +\begin{solution}[!meta(vspace),nLines=!meta(n)] +This is the solution to the second problem. +\end{solution} + +\end{parts} +\end{problem*} +\end{Verbatim} +The \texttt{problem*} environment takes two optional parameters, +the first one takes one of four values: +\begin{aebDescript} + \item[\meta{num}] When the value of the first parameter is + a number, this represents the total number of points for this + multi-part question. Here, the instructor does not specify the + weight of each part. + + \item[\meta{*num}] The points appear ``in-line'' rather than + in the margin. + + \item[\anglemeta{num}\texttt{ea}] When you specify a number followed by + `\texttt{ea}' (which is short for \underbar{ea}ch). Thus, + `\texttt{[5ea]}' signifies that each part of this problem has + weight of $5$ points. + + \item[\texttt{*\anglemeta{num}ea}] The points appear ``in-line'' rather than + in the margin. + + \item[\cs{auto}] If the value of the first parameter is + \cs{auto}, then the total number of points is calculated + automatically from the points defined by the \cs{PTs} macro. + The \cs{PTs} would be placed following \cs{item} of each part + that is to be given points. For example: + + \item[*\cs{auto}] The points appear ``in-line'' rather than + in the margin. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +Do each of the following problems, and be quick about it. +\begin{parts} + +\item\PTs{3} The first question. +\begin{solution}[1.5in] +This is the solution to the first problem. +\end{solution} + +\item\PTs{4} The second question. +\begin{solution}[3in] +This is the solution to the second problem. +\end{solution} + +\end{parts} +\end{problem*} +\end{Verbatim} +This defines a $7$ point problem. + +\item[\texttt{empty}] You need not specify any points at all. In +this case do not include this first parameter, in which case, the +second parameter is not used, so don't include it either. + +\end{aebDescript} + +\noindent Now for a description of the second parameter the +\texttt{[\cs{Do}\anglemeta{do\_num}]} parameter. In my senior- or graduate-level +classes, I sometimes ask a questions with multiple parts. As part +of the instructions for that problem I write, ``Do exactly three +of the following five problems.'' These questions are usually +proof-type problems, and they can choose their best three to +grade. In this context, all parts of the problem must be of the same +weight; the weight of each is \anglemeta{num} of the \texttt{[\anglemeta{num}ea]}. + +This is what \texttt{[\cs{Do}\anglemeta{do\_num}]} does. When you specify +\texttt{\cs{Do}3}, then only the points of $3$ of the problems are +added into the exam total. This second parameter is only checked +if the first parameter is \texttt{[\anglemeta{num}ea]}. For example, +specifying +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[5ea][\Do3] +\end{Verbatim} +creates a $15$ point question. This assumes there are $3$ or +more parts to this question. + +By the way, there are two macros that are defined when the \cs{Do} +is used, they are \cs{DoNum} and \cs{OutOfNum}; these expand to +the (English) word for the number of problems to do, and the +(English) word for the total number of problems. For example, if +there were five parts to the problem below,\dots +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[5ea][\Do3] +Solve exactly \textit{\DoNum} of the following {\OutOfNum} +problems. .... +\end{problem*} +\end{Verbatim} +\noindent The instructions would read, ``Solve exactly +\textit{three} of the following five problems.'' These macros can +be easily redefined to reflect other languages. The numbers +themselves are contained in the two macros \cs{nDoNum} and +\cs{nOutOfNum}. + +\redpoint \texttt{parts} and \cs{item}: For a multi-part problem +(\texttt{problem*}), the actual problems are enclosed in a +\texttt{parts} environment, and each question is posed as an +\cs{item} of that \texttt{list} environment. The command \cs{item} +takes the \texttt{[h|H]} optional argument. As in the case of the +\texttt{problem} environment, \texttt{h} prevents the solution +from appearing at the end of the document (but it appears with +\texttt{solutionsafter}), and \texttt{H} removes the solution in +all cases. + +\paragraph{\texorpdfstring{\cs{leadinitem}}{\CMD{leadinitem}}} +When using the \texttt{problem*} environment, there is an introductory sentence +that sets up the multi-part problem set. For various reasons, some authors +have asked to be able to pose multi-part questions without the +introductory sentence. This is harder request than it sounds, but now +there is the \cs{leadinitem} command. Study the code below. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +\leadinitem\PTs{3} The first question. +\begin{solution}[1.5in] +This is the solution to the first problem. +\end{solution} + +\begin{parts} +\item\PTs{4} The second question. +\begin{solution}[3in] +This is the solution to the second problem. +\end{solution} +... +\end{parts} +\end{problem*} +\end{Verbatim} +There is no introductory sentence. The problem starts off with +\texttt{\cs{leadinitem}\cs{PTs\{3\}} The first question}; this problem +is stated outside of the \texttt{parts} environment. The rest of the parts +to this problem are listed, as usual, from within the \texttt{parts} environment. +Only one \cs{leadinitem} is allowed per \texttt{problem*} environment. + +\newtopic The results of this code is viewed as follows, when typeset. + +\bigskip +\noindent\hfill\begin{minipage}{\linewidth-2\leftmargini} +\noindent\llap{($10^{\text{pts}}$)\quad}\textbf{1.}\ (a)\ The first question.\\[3pt] +\phantom{\textbf{1.}\ }(b)\ The second question.\\[3pt] +\phantom{\textbf{1.}\ }\dots +\end{minipage} +\bigskip + +The general syntax for \cs{leadinitem} is the same as that of the \cs{item} command within the +\texttt{parts} environment; \verb!\leadinitem[h|H]!, \texttt{h} prevents the solution +from appearing at the end of the document (but it appears with +\texttt{solutionsafter} or with \texttt{answerkey}), and \texttt{H} removes the solution in +all cases. + +\paragraph{\texorpdfstring{\cs{tableadin}}{\CMD{tableadin}}} There is a +tabular version of the \cs{leadinitem} command just discussed. Consider the following code: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\autotabOn +\begin{problem*}[\auto] +\tableadin +\begin{parts}[2} +\item\PTs{4} The first question. +\begin{solution}[1.5in] +This is the solution to the first problem. +\end{solution} +% +\item\PTs{4} The second question. +\begin{solution}[3in] +This is the solution to the second problem. +\end{solution} +... +\end{parts} +\end{problem*} +\end{Verbatim} +The results of this code is viewed as follows, when typeset. + +\bigskip +\noindent\hfill\begin{minipage}{\linewidth-2\leftmargini} +\noindent\llap{($10^{\text{pts}}$)\quad}\textbf{1.}\ (a)\ The first question.\qquad\hskip2\tabcolsep +(b)\ The second question.\\[3pt] +\phantom{\textbf{1.}\ }\dots +\end{minipage} +\bigskip + + +\subsubsection{Page Breaking} + +The \texttt{exam}, \texttt{problem} and \texttt{problem*} +environments use a (simple) page breaking algorithm to move a +problem (or the beginning of an exam) to the next page. + +If an \texttt{exam} environment begins at the lower third of the +page, it is moved to the next page. You can influence this page +break by using \cs{fvsizeskip} just before the beginning of the +\texttt{exam} environment, like so, +\begin{Verbatim}[xleftmargin=\amtIndent] +\fvsizeskip{.4} +\end{Verbatim} +\noindent \cs{fvsizeskip} takes a decimal number between $0$ and +$1$. In the example above, the environment will move to a new page +if it begins in the lower \texttt{.4\cs{textheight}} of the page. The +default value is $.3$. + +There is a similar algorithm for \texttt{problem} and +\texttt{problem} but is measured as a multiple of +\cs{baselineskip}. If you place +\begin{Verbatim}[xleftmargin=\amtIndent] +\nbaselineskip{8} +\end{Verbatim} +\noindent just before a problem that appears near the bottom of +the page, then it will be moved to the next page if it is within +\texttt{8\cs{baselineskip}} of the bottom. The default for this +command is $6$. + +\medskip\noindent +The following are strategies for fitting the maximum +number of questions on the minimum number of pages. +\begin{enumerate} + \item \textbf{Moving: }Rearrange the order of the questions, + if a problem can't fit entirely on a page, you can + exchange or move a shorter problem to that place, and move the longer + problem to another page. + + \item \textbf{Tweaking: }Modify the space defined by the + \texttt{solutions} environment to fit a problem on the page that + is below it. + + \item \textbf{Placing work on back: }Using the + \hyperref[onbackofpage]{\cs{OnBackOfPage}} command, + page~\pageref{onbackofpage}, you can direct the student to + answer the question on the back of another page, and thus, + little space is needed to follow that + question. + + \item \textbf{Working on separate sheets: }Of course, for some + types of exams, the exam just contains the questions, and the + students answer the questions on separate sheets of paper. For + this, you can use the \texttt{nospacetowork} option. +\end{enumerate} + + +\subsection{Fill-in Questions} + +In this section we cover the various fill-in constructs. + +\subsubsection{Short Fill-in Questions} +For a question requiring one or more short fill-in responses, +\textsf{eqexam} has the \cs{fillin} command, the syntax is +\settowidth{\aebdimen}{\ttfamily\string\fillin[u|b]\darg{\meta{width}}\darg{\meta{answer}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\fillin[u|b]{!meta(width)}{!meta(answer)} +\end{dCmd} +The first optional parameter determines whether the fill-in is +underlined `\texttt{[u]}' or not `\texttt{[b]}', the default it to +underline the fill-in. The second is the amount of horizontal +space you want to leave for the student to write in the response. +The third argument is the correct answer. This correct answer +will appear when you compile the document with the +\texttt{answerkey} option. + +\redpoint An example of \cs{fillin}. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +It is well known that \fillin{1in}{Newton} and \fillin{1in}{Leibniz} +are jointly credited as the founders of modern calculus. +\begin{solution} +It is well known that \underbar{Newton} and \underbar{Leibniz} +are jointly credited as the founders of modern calculus. +\end{solution} +\end{problem} +\end{Verbatim} + +\redpoint When you choose the \texttt{online} or \texttt{email} +option, \cs{fillin} generates a text field. + +When the \texttt{usexkv} option, and if the \textsf{xkeyval} package is available on the +system, \textsf{eqexam} extends the capability and control of \cs{fillin}. +See \begin{NoHyper}\Nameref{extendfillin}\end{NoHyper}. + +\subsubsection{True/False Questions} + +True and false questions are, of course, just a special case of +fill-in. A special command is available for true/false: +\settowidth{\aebdimen}{\ttfamily\string\TF[\meta{width}]\darg{\meta{answer}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\TF[!meta(width)]{!meta(answer)} +\end{dCmd} +\indent The required parameter, \meta{answer}, is the correct answer (e.g., +`T' or `F'). The macro creates an underlined blank space the width of which +is \meta{wide}. When the \meta{width} is \emph{not specified}, +\cs{defaultTFwidth} (default \texttt{30pt}) is used (and this value can be redefined). + +The \cs{TF} command behaves differently from the generic +\cs{fillin} command. Suppose you want to create a multi-part question +(using \texttt{problem*}) consisting entirely of true/false +questions. When an \cs{item} leads off with the \cs{TF} there are two possible +formatting options: This one: + +\begingroup\parskip6pt\parindent30pt + +\def\Item#1{\par\hangindent\parindent\indent\llap{#1\enspace}\ignorespaces}% +\parbox{4in}{\noindent + \Item{(a)}\underbar{\hspace{30pt}} Isaac Newton is considered to be one of + the founders of Calculus.} + +\medskip\noindent or this one:\medskip + + +\def\Item#1{\par\hangindent\parindent\indent\llap{#1\enspace}\ignorespaces} +\leavevmode\parbox{4in}{\Item{(a)}\underbar{\hspace{30pt}} Isaac Newton is considered to be one of + the founders of \hspace*{30pt} Calculus.} + +\endgroup + +\newtopic The first alignment is the default. To get the second +alignment, you need to set the value of \cs{fillinWidth} to the +common width value of the \cs{TF} fields. For example: +\begin{Verbatim}[xleftmargin=\amtIndent] +\fillinWidth\defaultTFwidth +\end{Verbatim} +\noindent When \cs{fillinWidth} is set to a positive length (the +common width of the \cs{TF} field), the second alignment above is +created. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[3ea] +\textit{True} or \textit{False}. + +\fillinWidth\defaultTFwidth + +\begin{parts} + + \item \TF{T} It is well known that Isaac Newton and + Gottfried Leibniz are jointly credited as the founders + of modern calculus. + ... + \item ... + ... +\end{parts} +\end{problem*} +\end{Verbatim} + +\redpoint \textbf{Important:} The example above demonstrates the +correct placement of \cs{fillinWidth}, just outside the +\texttt{parts} environment, before it has the time to set up +the paragraph shape of the environment. + +The change is only local to that \texttt{parts} environment. +The \cs{fillinWidth} command goes outside a \texttt{parts} +environment, and can cause strange results if executed within a +\texttt{parts} environment. Setting it to a \meta{width} value +other than the common width of the \cs{TF} fields will also create +bad formatting. + +\redpoint Just use \cs{fillinWidth} as illustrated in the above +example. + +\redpoint When you choose the \texttt{online} or \texttt{email} +option, \cs{TF} generates a text field. + +\subsubsection{Long Fill-in Questions} + +There is no special command for a longer response question, just +leave enough vertical white space for the student to respond, for +example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Do this problem +\begin{solution}[1.5in] +That's how you do it! +\end{solution} +\end{problem} +\end{Verbatim} +\noindent The above example leaves $1.5$ inches of vertical space to do the +work. + +\redpoint When you choose the \texttt{online} or \texttt{email} +option, this vertical space is changed into a multi-line text +field. + +\subsection{Multiple Choice}\label{multichoice} + +For multiple choice questions, we use the \texttt{answers} +environment. If the \texttt{online} or \texttt{email} option is +taken, the choices are made into radio button fields so that +\emph{only one alternative} can be chosen. When multiple selections +are permitted, the \texttt{manswers} environment can be used, see +\Nameref{multiSelect}. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] Answer each of the following. +\begin{parts} %\sqLinks + \item\PTs{5} In what year did Columbus sail the ocean blue? + \begin{answers}{4} + \Ans0 1490 &\Ans0 1491\\ + \Ans1 1492 &\Ans0 1493 + \end{answers} + \item\PTs{6} In what year did Columbus sail the ocean blue? + \begin{answers}{1} + \Ans0 1490 + \Ans0 1491 + \Ans1 1492 + \Ans0 1493 + \end{answers} +\end{parts} +\end{problem*} +\end{Verbatim} +\noindent \textbf{Note:} No solutions are given for this problem. + +\redpoint Because the labels and values of the alternatives are +based on the alphabet, the number of alternatives is restricted to +twenty-six. + +The \texttt{answers} environment is borrowed from \texttt{exerquiz} and +operates the same way. The one required argument is the number of columns +to be used in displaying the alternative answers. If the number of columns +is $1$, a \texttt{list} environment is used, otherwise a \texttt{tabular} +environment is used. + +In the first item in the example above, we specify $6$ columns, +and must use tabular notation (separate columns with +`\texttt{\&}') and end rows with `\verb+\\+'. The second item in +the example above uses $1$ column, the tabular notation is not +needed, or used. + +The \cs{Ans} macro is used to designate which alternative is the +correct answer ($1$ for correct, $0$ for not correct). + +\subsubsection{Using \texorpdfstring{\cs{bChoices}/\cs{eChoices}} +{\CMD{bChoices}/\CMD{eChoices}}} +Beginning with Version 1.3, an alternate style of specifying the +alternatives is defined. A new pair of commands are defined: \cs{bChoices} +and \cs{eChoices}. These two enclose the alternatives like so: + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{exam}{Exam1} +\begin{instructions} +Select the ``best'' answer and darken the corresponding oval on +your scantron sheet. +\end{instructions} +\begin{problem}[5] In what year did Columbus sail the ocean blue? + \begin{answers}{3} + \bChoices + \Ans0 1490\eAns + \Ans0 1491\eAns + \Ans1 1492\eAns + \Ans0 1493\eAns + \eChoices + \end{answers} +\end{problem} +\begin{problem}[5] In what year did Columbus sail the ocean blue? + \begin{answers}{1} + \bChoices + \Ans0 1490\eAns + \Ans0 1491\eAns + \Ans1 1492\eAns + \Ans0 1493\eAns + \eChoices + \end{answers} +\end{problem} +\end{exam} +\end{Verbatim} +\noindent Notice that the set of alternatives are the same, and +are specified in exactly the same way; the first question, +however, is a tabular environment with $6$ columns (the argument +of $6$ of the \texttt{answers} environment), the second question +is a list environment (since the argument \texttt{answers} +environment is $1$). Notice also that `\texttt{\&}' and +`\verb!\\!' are not used, and that each alternative is terminated +by \cs{eAns}. + +The \cs{bChoices} and \cs{eChoices} are creatures of the \textsf{exerquiz} +package, and are fully documented in the reference for the +\ulSetLink{http://www.math.uakron.edu/~dpstory/acrotex/aeb_man.pdf}{\cAcroB}. + + +\subsubsection{\texorpdfstring{\cs{sqForms} versus \cs{sqLinks}} +{\CMD{sqForms} versus \CMD{sqLinks}}} + +There are two styles of multiple choice: (1) enumerate the +alternatives using letters; (2) enumerate the alternatives using +boxes (that the student would check or fill-in). The default is (1), +but you can change the default to (2) by using the \texttt{useforms} +option. This styles can be locally changed by specifying the +\cs{sqLinks} or \cs{sqForms} commands. In the above example, the +\cs{sqLinks} command is commented out, but shows the correct +position for it to change to style (1), which I am calling +``links''. Within a multi-part, multiple choice set of questions, +you can change one item to ``links'' and the next to ``forms.'' +Changes are local as long as you place the commands, \cs{sqLinks} or +\cs{sqForms} within an environment (\texttt{parts}, +\texttt{problem}, or \texttt{problem*}). + +\subsubsection{Using Circles for Multiple Choice}\label{allowcirc4mc} + +Then the package option \texttt{allowcirc4mc} is used, the font standard +{\LaTeX} font \texttt{lcircle10} is loaded at which point \textsf{eqexam} +can use it to create circles, instead of rectangles, to indicate the parts +in a multiple choice (MC) question. To use circles in a multiple choice +question, execute the command, +\begin{Verbatim}[xleftmargin=\amtIndent] +\useCircForMC +\end{Verbatim} +prior to the MC question. + +\goodbreak + +To return to the use of rectangles, execute the command, +\begin{Verbatim}[xleftmargin=\amtIndent] +\useRectForMC +\end{Verbatim} +prior to the MC question. + +Both commands have a local context. If expanded inside a group, the +definition going into the group will hold on exit from the group. + +\subsubsection{Using \texorpdfstring{\cs{proofingsymbol}}{\CMD{proofingsymbol}} +and friends} + +By default, a check mark (\ding{52}) is used to indicate which of the +alternatives in a MC problem is correct; however, there are other +``proofing symbols'' that can be used. Below are two additional suggested +proofing symbols. + +\makeatletter +\font\eqe@lcir=lcircle10 at 10pt +\bgroup +\setbox0=\hbox{\eqe@lcir h} +\xdef\eqe@cirDiam{\the\wd0} +\@tempdima=.5\wd0 +\xdef\eqe@cirRadius{\the\@tempdima} +\egroup +\def\circGlyph#1#2{\hbox{\smash{\raisebox{\eqe@cirRadius}% + {\makebox[\eqe@cirDiam]{\llap{\rlap{\eqe@lcir#1}% + \hskip#2\relax}}}}}} +\makeatother + +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\useCheckForProof (!normalfont Check !ding(52), the default) +\useCrossForProof (!normalfont Cross !ding(56), alternative to check) +\useCircForProof (!normalfont Circle !circGlyph(x)(1pt), appropriate with )\useCircForMC +\end{Verbatim} +All of these user friendly commands are based on the \cs{proofingsymbol} +command. For example, the definitions of \cs{useCheckForProof} and +\cs{useCrossForProof} are, +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\newcommand{\useCheckForProof}{\symbolchoice{check}% + \proofingsymbol{\ding{52}}} +\newcommand{\useCrossForProof}{\symbolchoice{cross}% + \proofingsymbol{\raisebox{-1pt} + {\rlap{\kern-1pt\Large\ding{56}}}}} +\end{Verbatim} +Both definitions use the \textsf{pifont} package to create the symbols. +Note that some adjustment of size and position is used for the cross +symbol. + +The command \cs{symbolchoice} is defined in the \textsf{eforms} package +and does nothing in \textsf{eqexam} unless either \texttt{online} or +\texttt{email} options are taken. From the \textsf{eforms} manual, +possible values for \cs{symbolchoice} are \texttt{check}, \texttt{circle}, +\texttt{cross}, \texttt{square}, \texttt{diamond}, and \texttt{star}. The +\cs{proofingsymbol} command is for marking the multiple choices when +either the \texttt{answerkey} or \texttt{vspace\-with\-solns} option is +taken. The choice of \cs{proofingsymbol} is `{\LaTeX}ed' into the +document. The \cs{proofingsymbol} may be used to create other proofing +symbols, as desired. + +\newtopic\textbf{Summary.} Currently, there only two geometric shapes used +for multiple choice, rectangles (the default) and circles. To Shift +between these two types, use \cs{useRectForMC} and \cs{useCircForMC}, +respectively. Accompanying the choice for geometric shape for MC is the +symbol used to make the choice/correct answer. When the \texttt{answerkey} or +\texttt{vspace\-with\-solns} option is used, the correct answer is marked +using a symbol, current choices are \cs{useCheckForProof}, +\cs{useCrossForProof} and \cs{useCircForProof} (used with +\cs{useCircForMC}). + +When the \texttt{vspace\-with\-solns} is used, solutions are written to +the back of the document and markup up as they are with the +\texttt{answerkey} option. To get the answers in the solutions section to +have the same choices, you must write to the solutions file using +\cs{writeToSolnFile}. Below is an example. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\useCircForMC\useCircForProof +\writeToSolnFile{\protect\useCircForMC\protect\useCircForProof} +\begin{problem}[5] In what year did Columbus sail the ocean blue? + \begin{answers}{3} + \bChoices + \Ans0 1490\eAns + \Ans0 1491\eAns + \Ans1 1492\eAns + \Ans0 1493\eAns + \eChoices + \end{answers} +\end{problem} +\end{Verbatim} +Any multiple choice question that follows will also draw circles for +multiple choice questions, and mark them with a filled circle. +To shift back to the default, expand the following commands prior the next +question. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\useRectForMC\useCheckForProof +\writeToSolnFile{\protect\useRectForMC\protect\useCheckForProof} +... +\end{Verbatim} + +\subsection{Multiple Selection}\label{multiSelect} + +When writing a multiple choice question for which more than one +alternative is permitted, use the \texttt{manswers} environment +(\underbar multiple \underbar{answers}). The distinction between the +\texttt{answers} and \texttt{manswers} environments is lost when +publishing to paper, but becomes important with the \texttt{online} +and \texttt{email} options. + +Use the \texttt{manswers} environment in the same way you use +\texttt{answers}, except code in more than one correct answer. For +example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Which of the following are primary colors? +\begin{manswers}{6} % specify tabular with 6 columns + \bChoices + \Ans1 Blue\eAns + \Ans0 Green\eAns + \Ans1 Yellow\eAns + \Ans0 Orange\eAns + \Ans1 Red\eAns + \eChoices +\end{manswers} +\begin{solution} +Yes, red, blue and yellow are primary colors. +\end{solution} +\end{problem} +\end{Verbatim} +\noindent You can use the \cs{bChoices}/\cs{eChoices} pair to specify the +alternatives, or you can use the standard tabular notation. As with the +\texttt{answers} environment an argument of \texttt1 specifies a list +environment. See \Nameref{multichoice} for more examples on the use of the +\cs{bChoices}/\cs{eChoices} pair. + +\subsection{Randomizing Choices}\label{s:random} + +Beginning with version~1.7 of \textsf{eqexam}, the choices of a +multiple choice/selection question can be randomized. The \texttt{random.tex} +macro file by Donald Arseneau is used for this purpose. + +\newtopic The randomization is only allowed if the \texttt{allowrandomize} +option of \textsf{eqexam} is used; otherwise, no randomization +can occur. + +The randomization is only defined for choices listed between the +pair \cs{bChoices} and \cs{eChoices}. The +\cs{bChoices} command now takes two optional key-value arguments: +\begin{itemize} + \item \texttt{nCols=\anglemeta{num}}: The number of columns to create, as described. + You can also use the old style by specifying just + \anglemeta{num}. Thus, \cs{bChoices[nCols=2]} and \cs{bChoices[2]} + are equivalent. + \item \texttt{random=\anglemeta{\upshape true|false}}: Specify this option if you want the choices + to be randomized. You can use the key word \texttt{random} instead of + \texttt{random=true}. For example, the following commands all will randomize the + choices, \cs{bChoices[random]} or \cs{bChoices[nCols=2,random]} or + \cs{bChoices[2,random=true]}. The default is to not randomize the + choices. +\end{itemize} + +\newtopic The following is an example of the \texttt{random} option of \cs{bChoices}. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Try to guess the correct answer. + \begin{answers}{3} + \bChoices[nCols=2,random] + \Ans0 1 a choice\eAns + \Ans1\label{eq} 2 another choice\eAns + \Ans0 3 still another choice\eAns + \Ans0 4 another\eAns + \Ans0 5 incoming\eAns + \Ans0 6 more choices\eAns + \Ans0 7 another still\eAns + \Ans0 8 too many\eAns + \Ans0 9 choices\eAns + \eFreeze + \Ans0 10 None of these\eAns + \eChoices + \end{answers} +\end{problem} +\end{Verbatim} + +\newtopic Note the presence of the command \cs{eFreeze}. Any of +the items listed after \cs{eFreeze} are not randomized, and are +placed at the end of the list. So, for the example above, the first +nine items will be randomized, whereas, the last item (None of +these) will placed at the end of the list. + +\newtopic Additionally, there are five other commands that support the +randomization feature. + +\begin{Verbatim}[xleftmargin=\amtIndent] +\saveRandomSeed +\inputRandomSeed +\end{Verbatim} + +\newtopic A pseudo-random sequence of numbers requires an initial seed +value. The \texttt{random.tex} macro file creates, by default, a +seed value based on the data and time (the number of minutes since +midnight); consequently, after every minute, the random sequence +will change. By setting the value of the count register \cs{randomi}, as in +\texttt{\string\randomi=24}, +the document author can also set the initial seed of the pseudo-random +sequence. + +The command \cs{saveRandomSeed} will write the last seed used in the +source file to an auxiliary file (\cs{jobname\_ran.sav}), while the +command \cs{inputRandomSeed} inputs the seed stored in the +\cs{jobname\_ran.sav} back into the beginning of the source file. +These two commands should be placed in the preamble. + +By invoking both of these commands, a new pseudo-random sequence will be generated +each time the source file is latexed. + +Assuming a \cs{jobname\_ran.sav} has already been created, by +invoking the command \cs{inputRandomSeed} only (and not +\cs{saveRandomSeed}), the seed already saved will be used for every +subsequent compiling of the source document. Using the same seed is +necessary in two situations: +\begin{enumerate} + \item When the document contains one or more \cs{label} commands, using the same + seed gives you the same sequence every time you latex the document. This will + give the auxiliary files a chance to come up to date so that any referencing of the label + will be accurate. + + \item When creating an exam with randomization that has several + versions, which later you publish the solutions to, it is + important that the randomization for the document is the same as + that for the solution document. By using \cs{inputRandomSeed} (and + not \cs{saveRandomSeed}), you should get the same sequence for the + solution document (unless you modify the source file, adding or + removing questions that have randomization). +\end{enumerate} + +\newtopic\textbf{Things to look for:} If \textsf{eqexam} is not rearranging the order +of the choices as you expect it to, it could be that +\textsf{eqexam} is reading an old \texttt{.sav} file. Either delete that file +in your source folder, or comment out \cs{inputRandomSeed} in your document. + +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\useRandomSeed{!meta(num)} +\end{Verbatim} + +You may have several sections of the same class take the exam with the +questions rearranged for each. Save the seed value used by +\textsf{eqexam} to randomize the choices (open the \texttt{.sav} +and copy and paste line you see into your document, for example, it +could read \cs{randomi=132088850}. Then use \cs{useRandomSeed} to +use that seed value for that class, for example +\begin{Verbatim}[xleftmargin=\amtIndent] +\useRandomSeed{132088850} % 11:00 class +% \useRandomSeed{634952429} % 12:30 class +\end{Verbatim} +Of course comment out \cs{inputRandomSeed}. + +\begin{Verbatim}[xleftmargin=\amtIndent] +\turnOnRandomize +\obeyLocalRandomize +\end{Verbatim} + +The command \cs{turnOnRandomize} overrides all local settings of \cs{bChoices} +and causes all choice lists to be randomized. While \cs{obeyLocalRandomize} +returns control to the local settings. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\turnOnRandomize +... +\bChoices + \Ans...\eAns + \Ans...\eAns + ... +\eChoices +\end{Verbatim} +will cause the choice list to be randomized, even though the +\texttt{random} option was not specified. Whereas, in this code +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\turnOnRandomize +... +\obeyLocalRandomize +,,, +\bChoices + \Ans...\eAns + \Ans...\eAns + ... +\eChoices +\end{Verbatim} +the choices will not be randomized, because the \texttt{random} +option was not specified; or they will be randomized if the +\texttt{random} option is used. + +\newtopic\textcolor{red}{Limitations:} There are natural limitations on the use +of \cs{bChoices} and \cs{eChoices} and consequently, there are +limitations on the randomization. The content between \cs{Ans} and +\cs{eAns} cannot have any verbatim text. This is usually not a +problem for mathematical content, but could be a limitation for +computer science where questions about syntax may be posed. I have +in mind a work-around, but haven't pursued the problem as of yet. + +\subsection{Labeling Choices} + +The \cs{bChoices} command has a \texttt{label} key, +\verb~\bChoices[label=~\texttt{\anglemeta{label}]}, used to specify a (unique) label for the +current set of choices. When a label is specified, \textsf{eqexam} creates +commands that save the label of each correct answers (for multiple +choice/multiple selection problems), and saves the answer text for each +correct answer. These can be read back into the document using some +user-interface commands: \cs{useSavedAlts}, \cs{useSavedAns}, +\cs{useSavedAltsAns}, and \cs{useSavedNumAns}. + +%\handpoint The demo file for this feature is named \texttt{test03.tex}.\medskip + +\exAeBBlogPDF{p=1206} The demo file for this feature is named +\texttt{test03.tex}, download +\texttt{\href{\urlAcroTeXBlog/?p=1206}{test03.pdf}} from the {\AcroBlog} +website. The source file is attached to the PDF. + + +\settowidth{\aebdimen}{\ttfamily\string\useSavedAltsAns[\meta{num}]\darg{\meta{label}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\useSavedAlts[!meta(num)]{!meta(label)} +\useSavedAns[!meta(num)]{!meta(label)} +\useSavedAltsAns[!meta(num)]{!meta(label)} +\useSavedNumAns{!meta(label)} +\end{dCmd} +\noindent The optional argument is useful \emph{only if} the \cs{bChoices} appears in a +\texttt{manswers} environment where there are more than one selectable answer. The required +parameter is the value of the \texttt{label} key. +\begin{description}\def\NH{\hspace{-\labelsep}} + \item\NH\cs{useSavedAlts\darg{\meta{label}}} expands to the + \meta{label} of the correct answer(s). For example + \cs{useSavedAlts\darg{\meta{label}}} might expand to (c); if there + are multiple answers, it might expand to (a), (c), a + comma-delimited list of labels of the (correct) answers. For + multiple selection, \cs{useSavedAlts[2]\darg{\meta{label}}} might + expand to (c), the label of the second correct answer. + + \item\NH\cs{useSavedAns\darg{\meta{label}}} expands to the \emph{text} + of the correct answer(s). As an example, + \cs{useSavedAns\darg{\meta{label}}} might expand to $ y = x^3 $; if + there are multiple answers, it might expand to $ y = x^3 $, $ y = + -x^3 $, a comma-delimited list of the text of the (correct) + answers. For multiple selection, + \cs{useSavedAns[2]\darg{\meta{label}}} might expand to $ y = -x^3 + $, the text of the second correct answer. + + \item\NH\cs{useSavedAltsAns\darg{\meta{label}}} combines the two + previous commands. Again, for example, + \cs{useSavedAltsAns\darg{\meta{label}}} might expand to (c) $ y = + x^3 $. When there are multiple answers, it expands to a comma + delimited of labels and text. As with the other two commands, the + optional argument can be used to pick off a particular choice. + \item \NH\cs{useSavedNumAns\darg{\meta{label}}} is the number of + correct answers in the current list of choices. +\end{description} + +\subsection{Gizmos and Gadgets} + +I have a couple of crazy gizmos that you can use. + +\subsubsection{The \texttt{workarea} Environment} + +For a mathematics test, we often pose +a question that needs to be worked out. Vertical space is created +by the \texttt{solutions} environment, and appears when the +\texttt{nosolutions} or \texttt{vspacewithsolns} option is used; however, often we want to +mark up this vertical space with additional instructions, a +diagram or a figure. The problem is how can the author write over +the provided white space. For this, \textsf{eqexam} provides the +\texttt{workarea} environment. The syntax is: +%\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\settowidth{\aebdimen}{\ttfamily\anglemeta{Material that will overwrite the solutions vertical space}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\begin{workarea}[!meta(width)]{!meta(depth)} +... +!anglemeta(Material that will overwrite the solutions vertical space) +... +\end{workarea} +\end{dCmd} +This environment is placed immediately \emph{after} the \texttt{solutions} +environment, and the value of its parameter should be the same as the +optional parameter at the beginning the \texttt{solutions} environment +(\cs{begin\darg{solutions}[\meta{depth}]}). The optional \meta{width} +parameter is the width of the work area, which is \cs{linewidth} by default. +The required \meta{depth} parameter is the depth of the work area and it +should match the optional parameter of the \texttt{solutions} environment, +directly above it. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[3] +This is a question. + +\begin{solution}[2in] +This is the solution, let's hope it's correct, or I would be +embarrassed to no end. +\end{solution} + +\begin{workarea}{2in} +\textit{Hint}: Think long and hard before answering. +\par\vfill\hfill\setlength{\fboxsep}{2mm} +\fbox{Answer:\fillin[n]{1in}{The correct answer.}} +\end{workarea} +\end{problem} +\end{Verbatim} +\noindent When the \texttt{nosolutions} option is taken, the +\texttt{solutions} leaves $2$~inches of white space. The +\texttt{workarea} environment that follows also specifies +$2$~inches, and the content of this environment will overlap the +white space. (The student would then work around the written +material.) Here, we give a hint, and leave an answer box (a +fill-in) for the student to insert his/her answer. + +When the \texttt{nosolutions} is not specified, the vertical space +is not provided, and the \texttt{workarea} does nothing. If +\texttt{solutionsafter} is specified, that space is replaced by +the provided solution. + +\subsubsection{The \texorpdfstring{\cs{placeAtxy}}{\textbackslash placeAtxy} Command} + +The \cs{placeAtxy} command is another device that I've used to +place a block of text or a graphic on top of the vertical space +created by the \texttt{solutions} environment when the +\texttt{nosolutions} or \texttt{vspacewithsolns} option is in effect. +\settowidth{\aebdimen}{\ttfamily\string\placeAtxy\darg{\meta{x\_dim}}\darg{\meta{y\_dim}}\darg{\meta{content}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\placeAtxy{!meta(x_dim)}{!meta(y_dim)}{!meta(content)} +\end{dCmd} +\noindent The first two arguments are the $x$ and $y$ coordinates +(with dimensions) of where the \meta{content} is to be placed. +If this command is placed below the \texttt{solutions} +environment, then the origin is the lower left corner of the +solutions box. + +The following example, places the frame box \framebox{Place a +graph here} (roughly) one inch up and one inch shifted to the +right, measured from the bottom left corner of the \texttt{solutions} +environment (when the \texttt{nosolutions} option is in effect). +As with \texttt{workarea}, \cs{placeAtxy} does nothing if the +\texttt{nosolutions} option has not been taken. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[3] +This is a question. +\begin{solution}[2in] +This is the solution, let's hope it's correct, or I would be +embarrassed to no end. +\end{solution} +\placeAtxy{1in}{1in}{\framebox{Place a graph here}} +\end{problem} +\end{Verbatim} +\noindent The \cs{placeAtxy} command can also be used in +combination with the \texttt{workarea} environment. + +% +% Fixed with version 1.3. 02/07/05 +% +% \redpoint With this release of \textsf{eqexam}, the +% \texttt{splitsolution} environment does not obey the `\texttt{h}' +% or `\texttt{H}' options. These options were discussed in section +% on the \hyperref[problem]{\texttt{problem} environment}, on +% page~\hyperref[problem]{\pageref*{problem}}. + +\subsubsection{The \texttt{splitsolution} Environment} + +I developed this environment to solve a problem with the +\texttt{online} and \texttt{email} options. The white space +created by the \texttt{solution} environment is converted into +text fields (\PDF{} form fields). If the \texttt{workarea} +environment or the \cs{placeAtxy} command is used to place content +on the white space, the student will be in the position of having +to type on top of this content. (See the demo file +\texttt{\href{\urlAcroTeXBlog/?p=1198}{test01.pdf}}\marginpar{\mbox{\makebox[0pt][l]{\textcolor{blue}{\Pisymbol{webd}{254}}}\raisebox{-2pt}{\color{red}{{\zqacr +b\hspace{9.5pt}}}}}} for an illustration of this.) + + +Therefore, it was necessary to have a way to separate the space +reserved for the text field, and the additional content you might +want to appear in this white space area. The +\texttt{splitsolution} environment is my solution to this problem. + +As of 2012/12/10, a new syntax has been implemented for the +\texttt{splitsolution} and \texttt{panel} environments. Below is a +side-by-side comparison of the new syntax and the old. + +\settowidth{\aebdimen}{\small\ttfamily\string\begin\darg{splitsolution}[\meta{width}][\meta{depth}]} +\newtopic\begin{minipage}{\aebdimen+2\fboxsep+2\fboxrule} +\begin{Verbatim}[commandchars=!(),fontsize=\small,frame=single] +(!normalsize!normalfont!bfseries New Syntax) +\begin{splitsolution}[!meta(width)][!meta(depth)] +\begin{panel}[l|r] +... +\end{panel} +\begin{solution} +... +\end{solution} +\end{splitsolution} +\end{Verbatim} +\end{minipage}\quad +\begin{minipage}{.45\linewidth} +\begin{Verbatim}[commandchars=!(),fontsize=\small] +(!normalsize!normalfont!bfseries Old Syntax) +\begin{splitsolution}{!meta(depth)} +\begin{panel}[l|r]{!meta(width)} +... +\end{panel} +\begin{solution} +... +\end{solution} +\end{splitsolution} +\end{Verbatim} +\end{minipage} +\newtopic There has not been any feedback to this feature, so I am confident that +this change has little impact on users. Both \meta{width} and +\meta{height} are optional arguments for the new syntax of +\texttt{splitsolution}. If there are no optional arguments, the default +values of \cs{panelwidth} and \cs{panelheight}; these are automatically +measured. If only one optional parameter is given, it is interpreted as +\meta{height} (and the \meta{width} is taken to be \cs{panelwidth}). The +default value of the optional parameter for the \texttt{panel} environment +is now \texttt{r} rather than \texttt{l}. + +\redpoint Consider the following example. +\begin{Verbatim}[numbers=left,xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[7] +This is a question worth $7$ points. +\begin{splitsolution} +\begin{panel}\relax +\includegraphics[scale=.2]{fig1} +\end{panel} +\begin{solution} +This a really good solution. I hope this solution is correct or I +will be total embarrassed to no end. Even if it is wrong, maybe +the students will appreciate my tremendous effort. You can see +from the figure that the solution is obvious. +\end{solution} +\end{splitsolution} +\end{problem} +\end{Verbatim} +Note the use of \cs{relax} in line~(4). The first object in the panel +environment is a command. To prevent the command from expanding +prematurely, place a \cs{relax} as above. This will give you the default +parameter of \texttt{r} and prevent expansion. The use of \cs{relax} is +only needed when there is a command immediately following the opening of +the \texttt{panel} environment; otherwise, just \verb!\begin{panel}! should +work correctly. The optional argument can always be specified, +\verb!\begin{panel}[r]!; this too would prevent the premature expansion of +any command that immediately follows. + +The \texttt{panel} environment takes its contents and writes it verbatim +to a \textsf{CUT} file, then inputs it back in (at the end of the \texttt{panel} +environment), and places its contents in the box \cs{eqpanelbox} where it +takes it measurements of \cs{panelwidth} and \cs{panelheight} (the total +height). + +The \texttt{splitsolution} environment \emph{must} enclose two +other environments: The \texttt{panel} and the \texttt{solutions} +environments, \emph{in that order}. + +The \texttt{panel} environment comes first and takes optional argument. +The optional parameter has takes a value of `\texttt{r}' (the default) or +`\texttt{l}'. The \texttt{r} (resp., \texttt{l}) option means the panel is +to appear on the right (resp., left) of the solution (or vertical white +space). + +After the \texttt{panel} environment comes the \texttt{solutions} +environment. The optional parameter of this environment need not +be specified, as it gets its value from the \texttt{split\-solution} +parameter. + +There is a small gap of \texttt{3pt} (the default) inserted between the +panel and the solution. The value of this gap is contained in the +\cs{panelgap} command, +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\panelgap{3pt} +\end{Verbatim} +which can be redefined. + +\redpoint The depth (the default is \cs{panelheight}) that you specify as +the parameter of the \texttt{splitsolution} environment needs to be large +enough to accommodate your typeset solution; otherwise, the solution will +overlap the next problem. This is because, unlike the solutions inside a +\texttt{solution} environment (but not in a \texttt{splitsolution} +environment) are typeset in a \texttt{minipage} with a specified depth. + +To extend the height of the solution, use the following method. +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{splitsolution}[\panelheight+1in] +... +\end{splitsolution} +\end{Verbatim} +This sets the total height to be the natural height of the panel plus 1 inch. + +\section{\textsf{eqexam} Options}\label{eqoptions} + +The options documented here are entered as optional arguments of the eqexam package: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\usepackage[!meta(optionals)]{eqexam} +\end{Verbatim} +The optional arguments can also be introduced through \texttt{exambuilder.cfg}, the configuration file. +Create a text file with the name of \texttt{exambuilder.cfg} +and create the line shown below. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\ExecuteOptionsX{!meta(optionals)} +\end{Verbatim} +Place \texttt{exambuilder.cfg} in the folder of the source file and not on the {\LaTeX} +search path. + +\redpoint The \textsf{eqexam} package has numerous options, some +inherited from \textsf{web}, some from \textsf{exerquiz}, and a +number of new ones. +\begin{description} + \item[\texttt{forpaper}] Take this option when you want to create + a black and white paper version of your test. + + \item[\texttt{forcolorpaper}] Take this option + when you want to have a nice colorful paper version, + or are publishing on the web in {\PDF}. See \Nameref{customColor}. + + \item[\texttt{nosolutions}] This is the normal option taken when + you are printing a test for distribution to a class of + students. When this option is taken, vertical space is + generated by the \texttt{solutions} environment based on + the value of its optional parameter. This leaves room for + the student to solve/answer the question. + + \item[\texttt{nohiddensolutions}] If you use the \texttt{h} + optional parameter for \texttt{problem} or \cs{item}, the + solution will not be listed (at the end of the document) + \emph{when you do not specify} \texttt{nosolutions}; but + solutions will be typeset for the \texttt{solutionsafter} option. + This option will override this feature. + + \item[\texttt{noHiddensolutions}] Normally, when you use the + \texttt{H} optional parameter for \texttt{problem} or \cs{item}, the + solution will not be listed when you use the \texttt{nosolutions} or + \texttt{so\-lu\-tions\-af\-ter} options for \textsf{eqexam}. This option will + override this feature. + + \item[\texttt{solutionsafter}] Causes solutions to appear + following the statement of the problem. + + When the \texttt{solutionsafter} is in effect, the word + \textit{Solution:} is typeset at the beginning of the solutions. + The command \cs{renameSolnAfterTo} can be used for conveniently + changing the \texttt{solutionsafter} label, for example, executing + the command \verb!\renameSolnAfterTo{\textbf{Proof:}}! prior to a + \texttt{solution} environment changes the label to + \textbf{Proof:}; \verb!\renameSolnAfterTo{}! produces no + label. These changes will be local to the group in which they are + made, or global of there they are not made in a group. + + The command \cs{resetSolnAfterToDefault} sets the label text back to + the default. The default label is \verb!\textit{Solution}:!. + + \item[\texttt{preview}] The bounding boxes are shown when this + option is taken, provided the \texttt{online} or \texttt{email} + option is chosen. See the description of these two options + below. + + \item[\texttt{proofing}] Using this option will cause the + correct answer for multiple choice questions to be marked with + a check mark; the correct answers for fill-in questions + (\cs{fillin} or \cs{TF}) are also shown.\medskip + + The \texttt{answerkey} option, described below, + executes the \texttt{proofing} and \texttt{solutions\-after} + options. + +\end{description} + +\redpoint The following options are unique to the \textsf{eqexam} package. + +\begin{description} +\item[\texttt{pointsonleft}] The points for the problem are displayed in + the left margin. + +\item[\texttt{pointsonright}] The points for the problem are on the left + margin. + +\item[\texttt{pointsonboth}] Points are displayed in both margins. + +\item[\texttt{nopoints}] Causes points not to be displayed, or + calculated. Useful for writing documents that do not have points, + such as a questionnaire. + +\item[\texttt{totalsonleft}] The totals for each page can be + displayed at the bottom left corner of each page using this option. + +\item[\texttt{totalsonright}] The totals for each page can be + displayed at the bottom right corner of each page using this + option. + +\item[\texttt{nototals}] Use this option if you don't want any + totals at the bottom of the page. + +\item[\texttt{noparttotals}] When multiple \texttt{exam} environments appear on + the same page, they are separated by a horizontal rule. The page total + for the closing \texttt{exam} environment is inserted into the margin on + the same line as the horizontal rule. This option turns off the insertion + of the page total for the closing \texttt{exam} environment.\medskip + + There are two commands that can be used for local control of + this feature, they are \cs{eoeTotalOff} and \cs{eoeTotalOn}. + When an \texttt{exam} ends near the bottom of one page, the + new exam will begin on the next page, this results in the + horizontal rule being generated with the end of exam totals, + and the totals at the bottom as well. If these two numbers are + the same, then you can turn off the end of exam total using + \cs{eoeTotalOff}. Use this command just above + \verb+\end{exam}+ and the changes will be local to that exam + part. + +\item[\texttt{parttotalsonright}] Place the part totals in the right + margin, this is the default. + +\item[\texttt{parttotalsonleft}] Place the part totals in the left + margin. + +\item[\texttt{nosummarytotals}] When you use the + \texttt{instructions} environment, the total points for + \texttt{exam} are displayed following the instruction heading. + Using this option turns off this feature. + +\item[\texttt{noseparationrule}] When the document has multiple + \texttt{exam} environments, a separation rule is placed between + them. This option turns off that feature. + + The design of the separation rule may be modified by the document author + by redefining \cs{separationrule}, its definition is given below: +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\separationrule}{\makebox[\linewidth]% +{\centering\rule{.67\linewidth}{.4pt}}} +\end{Verbatim} + +\item[\texttt{coverpage}] Some instructors like to have a cover + page for their exams, use this option to create a cover page. Use + the \cs{eqexcoverpagedesign} command to design your own cover page. + +\item[\texttt{coverpagesumry}] is a companion to the \texttt{coverpage} option, + \texttt{coverpagesumry} takes one of three values: \texttt{bypages}, \texttt{byparts}, \texttt{none}. + +\begin{description} + \item[\texttt{coverpagesumry=bypages}] If \texttt{bypages} is chosen, an ``Exam Record'' + appears on the cover page. See the left-hand figure in + Figure~\ref{fig:ExamRecord}. A page total appears on each line. Note + ``Page~3,'' in the figure; the total there is ``$37\,\text{pts}\ + (12\,\text{pts}+25\,\text{pts})$.'' This means that there are 37 + points on page~3; on this page the first \texttt{exam} environment + ended and a second \texttt{exam} environment begins, there are 12 + points on page~3 from the first \texttt{exam} environment, and 25 + points on that page from the second \texttt{exam} environment. + +\begin{figure}[htb] +\begin{center} +\includegraphics[width=.4\linewidth]{bypages}\quad +\includegraphics[width=.4\linewidth]{byparts} +\caption{Exam Record}\label{fig:ExamRecord} +\end{center} +\end{figure} + + \item [\texttt{coverpagesumry=byparts}] If \texttt{byparts} is chosen, an + ``Exam Record'' appears on the cover page that lists the number of + points per part. (Each exam environment is considered here a + ``part.'') See the right-hand figure in + Figure~\ref{fig:ExamRecord}. + + \item [\texttt{coverpagesumry=none}] If this option is chosen (the default), no + ``Exam Record'' is generated. If the key \texttt{coverpagesumry} does not + appear in the option list of \textsf{eqexam}, no ``Exam Record'' is written. + + \end{description} + + See \Nameref{examrecord} for more details on this topic. + +\item[\texttt{nospacetowork}] When the \texttt{nosolutions} option + is taken, the \texttt{solutions} + environment leaves vertical space in which to respond to the + question. Use this option to override this behavior.\medskip + + The command \cs{SpaceToWork} causes the white space to be + created again, and the \cs{NoSpaceToWork} turns it off again. + Use these two commands to turn on and off the creation of + vertical spaces in different parts of your exam. + +\item[\texttt{answerkey}] This is a convenience option equivalent + to \texttt{proofing} and \texttt{solutionsafter}. Useful for + creating an ``answer key'' with answers and solutions displayed. + +\item[\texttt{solutionsonly}] Using this option, it is possible to obtain +a typeset document consisting of only the solutions to \textsf{eqexam} document. +See \Nameref{solutionsonly} for further details. + +\item[\texttt{vspacewithsolns}] An unusual feature requested by a user + for homework assignments. This option is a combination of + \texttt{nosolutions} (where vertical space is left by the + \texttt{solutions} environment to respond to the question), but + the solutions are written the \cs{jobname.sol} and input back in + at the end of the document. + + This option is incompatible with \texttt{answerkey}, + \texttt{nosolutions}, and \texttt{solutionsafter}, so when + \texttt{vspacewithsolns} is used, it ``cancels'' these other + options. + + The command \cs{showAllAnsAtEnd} is inserted at the top of the + \cs{jobname.sol} file and when \cs{jobname.sol} are input back + in, the command \cs{showAllAnsAtEnd} is executed. The definition + of \cs{showAllAnsAtEnd} is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\showAllAnsAtEnd}{% + \makeAnsEnvForSolnsAtEnd + \answerkeytrue\eq@proofingtrue + \eq@solutionsaftertrue\vspacewithsolnstrue + \displayworkareafalse\withsoldoctrue +} +\end{Verbatim} +Basically, this turns on all the switches that correspond to the +\texttt{answerkey} option. This command may be redefined to suite your +purposes. + +\handpoint When this option is taken, the switch \cs{ifvspacewithsolns} +may be used to bring in alternate content. + +See \Nameref{vspacewithsolns} for further details. + +\item[\texttt{ftbsolns}] An alias for \texttt{vspacewithsolns}. + +\item[\texttt{useforms}] Multiple choice questions have two forms, + (1) the choices are labeled using letters (a), (b), (c), etc.; or + (2) using a rectangular fill box. The default is~(1). The + \texttt{useforms} switches the default to~(2). You can use the + commands \cs{sqLinks} and \cs{sqForms} to change back and forth + between these two types within the exam document. Using one of + these commands outside a \texttt{problem} environment will + globally change the default, from within, it will only change the + default locally. + +\item[\texttt{flextended}] When this option is taken, additional code is + input to support filler lines, refer to Section~\ref{ss:VSFT} for + details; in particular, read \Nameref{sss:flxtnd}. + +\item[\texttt{myconfig}] If this option is taken, \textsf{eqexam} + looks for the configuration file \texttt{eqexam.cfg}. This + configuration file is input at the end of the package, and can be used + to redefine, for language localization purposes, any of the (text) + macros described in this manual. See the section \Nameref{custom} for + a partial listing of macros that can be redefined and placed in + \texttt{eqexam.cfg}.\medskip + +\item[\texttt{myconfigi}\dots\texttt{myconfigvi}] Six additional + options for inputting a configuration file. If you take one of + these options, \textsf{eqexam} inputs the corresponding + configuration file \texttt{eqexami.cfg}\dots\texttt{eqexamvi.cfg}. + +\item[\texttt{cfg}] Syntax: \texttt{cfg=\anglemeta{basename}}. If this option is taken, +\textsf{eqexam} looks for a file named \texttt{\anglemeta{basename}.cfg} and is input. + + For one of my recent classes, I wrote many + standard handouts documents: first day handout, assignment documents, + homework assignments, review documents, test documents, and + in-class notes. Each document-type had its own \textsf{eqexam} + format (configuration file, \texttt{eqexami.cfg}\dots\texttt{eqexamiv.cfg}. + It got confusing to keep track of all these configuration files. At which point + I decided to add a \emph{named} configuration scheme. If you use the key \texttt{cfg} + in the option list \texttt{cfg=firstday}, \textsf{eqexam} will look for a file + named \texttt{firstday.cfg} + +\item[\texttt{obeylocalversions}] An option put in to give greater control over + versions. Perhaps you have a \textsf{eqexam} file that has questions + with multiple versions. You would like to pick and choose the versions + to be used. In this case, using \texttt{obeylocalversions} will cause + \textsf{eqexam} to obey any \cs{selectVersion} commands embedded in + the document. + +\item[\texttt{allowrandomize}] Use this option to randomize + the multiple choice/selection questions. See \Nameref{s:random} for details. + +\item[\texttt{showgrayletters}] When \texttt{showgrayletters} is used, multiple choice +questions will have a gray capital letter +\texttt{A}, \texttt{B}, \texttt{C}, etc. underneath it. This letter +can then be referred to in the text or the solution using the \cs{REF} command. + +See \Nameref{showgraylettersOpt} for more information. + + \item[\texttt{usexkv}] When this option is used, and the document + author has the \textsf{xkeyval} package on his/her system, there is a + re-definition of the \cs{fillin} command. For more information, + see \Nameref{extendfillin}. + + \item[\texttt{allowcirc4mc}] Allows to use of circles (created by + the \texttt{lcircle10} font) for multiple choice questions. See + \Nameref{allowcirc4mc} for details. + + +\end{description} + +\redpoint The next option concerns a major new feature, available +in \textsf{eqexam}, version 3.0 or later. + +\begin{description} + \item[\texttt{fortextbook}]\label{fortextbook} This option is designed support + textbook authors. See \mlNameref{ftbop} for a greater explanation. +\end{description} + +\redpoint The next two apply to files that have several versions in them, +these were defined for use by the \textsf{AeB Exam Builder} +utility,\footnote{\url{http://www.acrotex.net/builders/}} but they are +available to the document author. + +\begin{description} + \item[\texttt{max}] The value of \texttt{max}, \texttt{max=\anglemeta{N}}, + is a positive integer. The value of \texttt{max} is the + number of versions for this document. This option executes + \cs{numVersions\darg{\anglemeta{N}}} at the end of the package. + + \item[\texttt{rendition}] This is a key-value pair. + \texttt{rendition=\anglemeta{alpha}}, where \anglemeta{alpha} letter corresponding to + the version that is to be typeset. At the end of the package, the + command \cs{forVersion\darg{\anglemeta{alpha}}} is executed. + +\end{description} + +\redpoint The next four options require the {\cAcroB}, and all of +its required packages, such as \textsf{hyperref}, their use +implies you are going to publish the document as a {\PDF}. + +\begin{description} + +\item[\texttt{pdf}] This option doesn't do much, it brings in the + \textsf{web} package, which in turn, places the values of the + keywords (\cs{title}, \cs{author}, \cs{subject}, etc.) into the + Document Description dialog of the {\PDF}. + +\item[\texttt{links}] This option brings in both \texttt{web} and + \texttt{exerquiz}. When you do not use a solutions option + (\texttt{nosolutions} and \texttt{solutionafter}), the solutions + appear at the end of the document. When the \texttt{links} option + is used, links from the questions to the solutions are created. + Unless you use a ``paper option'' (\texttt{forpaper} and + \texttt{forcolorpaper}), each solution is on a different page, + making a document with a lot of pages. When you also specify a + paper option, the solutions are separated by a \cs{medskip}. + +\item[\texttt{online}] The \texttt{online} option implies the + previous two options, but does more. When this option is taken, + and the \texttt{nosolutions} option is specified, {\PDF} forms are + created: multiple choice questions become radio button fields; + fill-in questions become text fields, and the vertical space + created by the \texttt{solutions} environment become multi-line + text fields.\medskip + + This may be a useful option for an exam taken in a + CBT\footnote{Computer Based Testing} lab, where the students + can type in their responses and when finished, print the + document to a lab printer to hand in. + +\item[\texttt{email}] This option implies the \texttt{online} + option, in addition, adds a submit button to the upper left corner + of the first page of the exam. The student can take the test in a + CBT lab, then submit the results to the instructor via email. + +\end{description} +\noindent See the section \Nameref{email} for additional details +of these last two options. + +\redpoint When any one of the four options above are taken, a +driver needs to be specified as well, the choices are\dots + +\begin{description} +\item[\texttt{dvipsone}] For users of the + {Y\!{\footnotesize\&}\!Y\TeX} System, such as myself. + +\item[\texttt{dvips}] For users of \textsf{dvips}, the + dvi-to-postscript converter. + +\item[\texttt{pdftex}] For users of \textsf{pdftex} application. + +\item[\texttt{dvipdfm}] For users of \textsf{dvipdfm} application. + +\item[\texttt{textures}] For \textsf{textures} users. (This +option is totally untested.) +\end{description} +\noindent These options are passed on to \textsf{hyperref} and to +\texttt{eforms}\footnote{A component of \AcroB.} for the proper +creation of links and form fields. + +\subsection{Configuration Files} + +The \textsf{eqexam} looks for two configuration files, they are +\texttt{web.cfg} and \texttt{eqexam.cfg}. + +The first one \texttt{web.cfg} may be already present on your hard +drive if you use the {\AcroB}. Typically, desired default driver +option is placed in here, for example, \texttt{web.cfg} might +contain the single line, +\begin{Verbatim}[xleftmargin=\amtIndent] +\ExecuteOptions{dvips} +\end{Verbatim} +\noindent for users of the \textsf{dvips} application for +converting \texttt{.dvi} files to \texttt{.ps} file. The drivers +supported by \textsf{eqexam} are listed in the previous section. + +The second configuration file, \texttt{eqexam.cfg}, is input at +the end of the package, provided the document author takes the +\texttt{myconfig} option. Use this file to redefine some of the +commands described in \Nameref{custom}, and elsewhere, to +customize \textsf{eqexam}. An obvious use for this is to have a +language customization of the package, input through +\texttt{eqexam.cfg}. + +If you place \texttt{eqexam.cfg} in the {\LaTeX} search path, +these customization will be global to all documents that specify +the \texttt{myconfig} option. If is is placed in the source +document folder (which is not in the {\LaTeX} search path) the +changes are local to all documents developed in that folder. + +\subsection{The \texttt{solutionsonly} Option}\label{solutionsonly} + +With this option, it is possible to obtain a listing of only the solutions +in an \textsf{eqexam} source file. A possible application of this feature +is if you publish homework or practice test questions, you can later +publish the solutions to them. + +%\handpoint The demo file for this option is \texttt{eqex\_solnsonly.tex}, where you +%will find detailed instructions for how to do this. See also the file +%\texttt{text03.tex}, which demos both the \texttt{solutionsonly} option and the +%\texttt{vspacewithsolns} option. + +\exAeBBlogPDF{p=1227} The demo file for this option is +\texttt{\href{\urlAcroTeXBlog/?p=1227}{eqex\_solnsonly.pdf}}, available from +the {\AcroBlog} website. The source file is attached to the PDF. Within the +source file, you will find detailed instructions for how to create a +solutions-only file. + + +\subsection{The \texttt{vspacewithsolns} Option}\label{vspacewithsolns} + +With option is a combination of \texttt{nosolutions} (where vertical +spaces are left for extended response questions, and multiple choice and +fill-in the blank are left, well, blank) and compiling the document +with no options at all, in this case the solutions appear at the end of +the document. + +To summarize, when \texttt{vspacewithsolns} is used, the test section is +left blank for the student to fill in, but at the end of the document are +the solutions. I've recently used this option to compile an old test (from +a previous semester) and publish it on the web. The student can try +solving the old test, with the solutions at the end of the +document.\footnote{Another option is to first publish your old exam with +the \texttt{nosolutions} option, then, after a suitable time, publish the same document +with the \texttt{solutionsonly} option.} + +\newtopic An alias for this option is the option \texttt{ftbsolns}. + +\exAeBBlogPDF{p=1220} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1220}{hw02.pdf}}. See also the file +\texttt{\href{\urlAcroTeXBlog/?p=1206}{test03.pdf}}, which demos both the +\texttt{solutionsonly} option and the \texttt{vspacewithsolns} option. + +\subsection{The \texttt{fortextbook} Option and \textsf{fortextbook} Package}\label{ftbop} + +This option is designed for authors of textbooks. The \texttt{fortextbook} +option defines the \texttt{probset} environment---used to create problems +sets in the textbook---as a re-purposing of the \texttt{exam} +environment. When the text is compiled with the \texttt{studented} option +(student edition), only odd-numbered solutions/answers are written to the +end of the document; when the \texttt{instred} option (instructor edition) is +used, all solutions/answers are written to the end of the document, there +are options for annotating the book with the answers in the margins or +following the questions (instructor edition). + +Documentation for this option is found in the \texttt{doc/fortextbook} +folder. See the file \texttt{fortextbook.pdf} and its source file +\texttt{fortextbook.ltx}. + +To use the \texttt{fortextbook} option, a whole panoply of options are needed, +\begin{Verbatim}[xleftmargin=\amtIndent] +\usepackage[% + fortextbook,ftbsolns,usecustomdesign, + forcolorpaper,noseparationrule,usexkv +]{eqexam} +\end{Verbatim} +Accompanying the \textsf{eqexam} is a simple wrapper package called +\texttt{fortextbook}, which basically calls \textsf{eqexam} with all the above +options. So, the textbook author needs only to specify, + +\begin{Verbatim}[xleftmargin=\amtIndent] +\usepackage{fortextbook} +\end{Verbatim} +The documentation for this option is quite extensive and is +available in the separate document \texttt{fortextbook.pdf}. This +document is a short ``textbook'' that illustrates and documents +the features of this option. + +See the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} +Blog}} for several articles on the \texttt{fortextbook} option, +beginning with the first article +\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=604}{The +\texttt{fortextbook} option, Part 1, The Instructor Edition}}. A +listing of all articles of the +\ulSetLink{http://www.math.uakron.edu/~dpstory/eqexam.html}{\textsf{eqexam} +package} may be obtained by following +\ulSetLink{http://www.acrotex.net/blog/?tag=eqexam-package}{this +link}. + +The full series of articles on the \texttt{fortextbook} option may be found under the +\ulSetLink{http://www.acrotex.net/blog/?tag=fortextbook}{fortextbook tag} at the blog site. + + + +\section{The \texttt{online} and \texttt{email} Options}\label{email} + +When you use the \texttt{online} option, all fields created by the +\cs{fillin} command, and this includes \cs{TF}, are converted into +text fields, and the white space created by the \texttt{solutions} +environment is converted to a multi-line text field. The fields +manifest themselves when the document is viewed within the Adobe +Reader, or any other {\PDF} viewer that supports form fields. + +This may be a useful option to the few people out there who are +not in a technical field that requires specialized symbols to +respond to a question. An exam created by the \texttt{online} +option can be filled out online, printed, and submitted to the +course instructor, perhaps within a lab setting. + +There are other applications, such as creating a course survey, or +a questionnaire of some type the students can fill out and submit. +The \texttt{email} option may be more appropriate for these +applications. + +\subsection{The \texttt{email} Option} + +When you pass the \texttt{email} option to \textsf{eqexam}, this +does everything the \texttt{online} option does, in addition, it +creates a ``Submit'' button that appears in the top-left margin of +the exam (it does not appear on the cover page), and is placed +there by the \cs{maketitle} command, that normally goes just after +the opening of the document environment, \verb+\begin{document}+. + +The forms button is all setup to submit to the server-side script, +\textsf{eqAttach.asp}, an active server page using +\textsf{vbscript} as its scripting language. This script, when +properly installed and functional, receives the form data +generated by the document and attaches it to an email, which it +sends off to the designated destination. Before discussing how to +install and use \textsf{eqAttach.asp}, let me cover some commands +that controls this button as well as options for changing what is +sent to the server-side script. + +When you take the \texttt{email} option, you need to supply a +minimum of two pieces of information: the path to the server-side +script \textsf{eqAttach.asp} and the email address of the person +the results are to be sent. The command \cs{SubmitInfo} is used to +supply this info, for example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\SubmitInfo{http://localhost/scripts}{dpstory@uakron.edu} +\end{Verbatim} +This command takes two arguments, the first is the URL to the +server-side folder that contains \textsf{eqAttach.asp}, the second +argument is the email address of the recipient of the email. (You +can have multiple recipients by separating the address by an +comma.) + +After the student submits the responses to the questions, an email +is sent to the recipient (the instructor, perhaps). When the +recipient receives the email, s/he can save the {\FDF} attached file +(containing the student responses) to a folder on the local hard +drive. At least for a Windows machine when you open the {\FDF}, the +{\PDF} will be fetched and the student data will be populated into +the form fields. + +Once this is done, the instructor can either save the populated +file to the hard drive for later processing (the Acrobat +application needed for this step) or print it to a printer for +grading by hand. + +If the instructor has Acrobat, s/he can use the markup capability +of Acrobat to grade the electronic version of the test, and return +the electronic version, with markup, to the student. + +Below is the subject and message body of a ``typical'' submittal for the +student ``John Q. Student''. + +\begin{flushleft} +Message Subject: +\begin{Verbatim}[xleftmargin=\amtIndent] +Exam Results: Test 1 of U. S. History +\end{Verbatim} +\end{flushleft} + +\begin{flushleft} +Message Body: +\begin{Verbatim}[xleftmargin=\amtIndent] +Exam Information: + Course Name: U. S. History + Exam: Test 1 + Student: John Q. Student + TimeOfQuiz: 1/19/2005 12:07:56 PM +\end{Verbatim} +The {\FDF} is attached. +\end{flushleft} + + +\noindent The following commands can be used to modify the email message. + +\redpoint\cs{EmailCourseName} is used to specify the name of the +course. The default value for this is \cs{websubject}, obtained +from the \cs{subject} macro used in the preamble; however, if you +want a different name in the email, perhaps with more information +included, you can redefine the value using this macro. +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailCourseName{\websubject} % the default +\end{Verbatim} + +\noindent\textbf{\color{red}Important:} When you use {\TeX} +formatting in the subject, such as +\begin{Verbatim}[xleftmargin=\amtIndent] +\subject{\bfseries Calculus 1} +\end{Verbatim} +and you are using the \texttt{email} option, it will +be necessary to use \cs{EmailCourseName} to redefine the subject, e.g., +\verb+\EmailCourseName{Calculus 1}+, to avoid possible {\TeX} compile +errors, or to prevent {\TeX} primitives being a part of your +email! + +\redpoint\cs{EmailExamName} is used to specify the exam name of +the course. The default value for this is \cs{webtitle}, obtained +from the \cs{title} macro used in the preamble; however, if you +want a different name in the email, perhaps with more information +included, you can redefine the value using this macro. +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailExamName{\webtitle} % the default +\end{Verbatim} + +\noindent\textbf{\color{red}Important:} If you use some {\TeX} +formatting in the title, such as +\begin{Verbatim}[xleftmargin=\amtIndent] +\title{\bfseries Test 1} +\end{Verbatim} +and you are using the \texttt{email} option, it will be necessary +to use \cs{EmailExamName} to redefine the title, e.g., +\verb+\EmailExamName{Test 1}+, to avoid possible {\TeX} compile +errors, or to prevent {\TeX} primitives being a part of your +email! + +\redpoint\cs{EmailSubject} The document author might want a custom +subject in the email, instead of the standard one. By using this +macro, he can design his own email subject. +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailSubject{} % the default +\end{Verbatim} +\noindent In this case \textsf{eqAttach.asp} inserts the standard one. +\begin{Verbatim}[xleftmargin=\amtIndent] +Exam Results: \webtitle of \websubject +\end{Verbatim} +\noindent The email would read ``\texttt{Exam Results: Test 1 of +Calculus I}'', for example. + +To change the email subject we would put the following command in +the preamble: +\begin{Verbatim}[xleftmargin=\amtIndent] +\EmailSubject{Another Set of Cool Results} +\end{Verbatim} + +\redpoint \cs{ServerRetnMsg} The server script +(\textsf{eqAttach.asp}) returns a message acknowledging the +receipt of the data, this command allows the document author to +customize the return message. The default definition is: +\begin{Verbatim}[xleftmargin=\amtIndent] +\ServerRetnMsg{} +\end{Verbatim} +\noindent In this case \textsf{eqAttach.asp} inserts the standard +one, ``Exam results successfully sent to your instructor!''. + +To change the return message to something more meaningful, put +this command in the preamble, for example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\ServerRetnMsg{Your responses to the \\TeX Survey have been + received, thank you!} +\end{Verbatim} + +\redpoint\cs{SubmitButtonLabel} is the label that appears on the +submit button. +\begin{Verbatim}[xleftmargin=\amtIndent] +\SubmitButtonLabel{Submit} % the default +\end{Verbatim} + + +\subsubsection{Installing \textsf{eqAttach.asp}} + +On the server side, in order for \textsf{eqAttach.asp} to run +correctly, Microsoft Internet Information Server (IIS), version +4.0 or greater, is needed. The script \textsf{eqAttach.asp} needs +to be placed where ASP scripts have execute permissions. + +The \textsf{eqAttach.asp} uses the \textsl{Acrobat FDF +Toolkit}\footnote{Currently located at the +\href{http://partners.adobe.com/public/developer/acrobat/devcenter.html} +{Acrobat Family Developer Center}.}, version 6.0. Follow the +directions for installation contained in the accompanying +documentation. + +Install \textsf{eqAttach.asp} in a folder (perhaps called +\texttt{Scripts}) designated to execute scripts. If you don't +have such a folder, then the following steps explain how to +create a virtual directory through IIS that points to this folder. + +\begin{enumerate} +\item Create a new folder on the system (\texttt{Scripts}, for +example). Its recommended location is inside the \texttt{Inetpub} +folder. + +\item Place \textsf{eqAttach.asp} in this newly created folder. + +\item In the MMC snap-in for IIS, create a virtual directory by +right-clicking on the Default Web Site and selecting \texttt{New > +Virtual Directory}. + +\item Type ``Scripts'' (or whatever the name of the folder you +created in~Step~1) as the alias for the virtual directory, and +then link it to the physical directory you created in Step~1. + +\item Make sure that ``Script execution'' privileges are enabled. +If not, enable them. +\end{enumerate} + + +\subsubsection{Setting up and Modifying the Script} + +On the server side, in order for \textsf{eqAttach.asp} to run +correctly, Microsoft Internet Information Server (IIS), version +4.0 or greater, is needed. The script \textsf{eqAttach.asp} should +be placed where ASP scripts have execute permissions. There are +two methods of sending e-mail: +\begin{enumerate} + \item \texttt{CDONTS}: This method (which is commented out by + default) can be used on an NT server. Uncomment if you want to + use CDONTS, and comment out the CDOSYS code lines that follow. + \item \texttt{CDOSYS}: This can be run on a Win2000 or WinXP + server. +\end{enumerate} + +The script needs to be modified appropriate to your server, in +particular, search down in \texttt{eqAttach.asp} for the +configuration line +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +eqMail.Configuration.Fields.Item + ("http://schemas.microsoft.com/cdo/configuration/smtpserver") + = "mySMTP" +\end{Verbatim} +\noindent replace \texttt{mySMTP} with your SMTP server. + +\subsubsection{Some Options} + +The default behavior of \textsf{eqAttach.asp} is to return a +message to the document that indicates the receipt of the data, +this message is``Exam results successfully sent to your +instructor!'' The message, as explained earlier, can be changed +using the \cs{ServerRetnMsg}, like so +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\ServerRetnMsg{Your TeX survey results have been received, thank you.} +\end{Verbatim} +\noindent Now, if for whatever reason you don't want this +confirmation message to return to the document for display in +alert box, you can sent the \texttt{silent} as part of the query +string. For example, if +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\SubmitInfo{http://myWebSite/scripts/eqAttach.asp?silent\#FDF} + {myname@mymailprovider} +\end{Verbatim} +\noindent placed in the preamble of your document specifies the +path to the script, silent mode, and the email address of the +recipient of the form data. + +\medskip\noindent +Another other feature of \textsf{eqAttach.asp} that can be changed +through the query string is the \texttt{/F} key-value pair of the +\texttt{FDF} sent out in email. The value of this key is the path +to the document that sent the \texttt{FDF}, it may be a url (an +address on the Internet) or it could be a file specification of a +local hard drive. If you specify \texttt{nopath} in the query +string, like so +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\SubmitInfo{http://myWebSite/scripts/eqAttach.asp?nopath\#FDF} + {myname@mymailprovider} +\end{Verbatim} +\noindent then \textsf{eqAttach.asp} strips out the file path and +leaves only the file name. + +\redpoint This is what I did with the \texttt{tex\_survey.tex} +source file. I placed \texttt{tex\_survey.pdf} in a \texttt{LaTeX +Survey} folder on my desktop. As the emails came in, I saved the +\textsf{FDF} attachments to this folder. By (double) clicking on +the \textsf{FDF}, \texttt{tex\_survey.pdf}, which is in the same +folder, opened and the form data populated the fields from whence +they were sent. It worked well for me. + +If you don't use the \texttt{nopath} option, when you click +on an \texttt{FDF} file you've received by email, your browser +opens and the PDF on the Internet is brought into the +browser and the form data populates the form fields, \dots at least on +a Windows machine. \texttt{:-)} + +\subsubsection{References} + +The following links were used as a reference in the development of the +\texttt{Email.asp} script. +\begin{itemize} + \item CDOSYS: + \begin{itemize} + \item \href{http://invisionportal.com/show_tutorial.asp?TutorialID=160}{Invision Portal} Tutorial: CDOSYS email tutorial + \item \href{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_imessage_interface.asp} + {MSDN}: CDO for Windows 2000. The IMessage Interface. (Use MIE to view this page.) + \item \href{http://www.asp101.com/articles/john/cdosmtprelay/default.asp}{ASP 101} Sending Email Via an External SMTP Server Using CDO + \end{itemize} + \item CDONTS + \begin{itemize} + \item \href{http://www.juicystudio.com/tutorial/asp/cdonts.html}{Juicy Studio} The ASP CDONTS Component + \item \href{http://www.devasp.com/Samples/mail.asp}{DevASP} Sending Mail from ASP with CDONTS.NewMail Object + \end{itemize} +\end{itemize} + +\section{Bells, Whistles and other Customizations} + +\subsection{Customizations}\label{custom} + +We enumerate some commands for changing the default design of \textsf{eqexam}. + +\subsubsection{Course Info Commands}\label{courseInfo} + +\textsf{eqexam} has several commands for the student to provide some identification +information. + +\redpoint \cs{eqexamName}. This command defines the macro +\cs{eq@ExamName} that creates the underlined space for the student +to enter his/her name, and also defines the text box form field, +in the case the \texttt{online} or \texttt{email} options are +taken. There are two (design) parameters for \cs{eqexamName} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\eqexamName[!meta(eforms_opts)]{!meta(width)} +\end{Verbatim} +\noindent The first optional parameter can be used to modify the +appearance of the text field, see the \href{eformman.pdf}{eForms} +documentation for details. The second parameter is the width of +the field. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\eqexamName[\Ff\FfRequired]{2.25in} +\end{Verbatim} +\noindent Here, the text field that will be generated (when +\texttt{online} or \texttt{email} is specified) will be a required +field. The total width of the space provided is $2.25$ inches. + +The command \cs{examNameLabel} controls the label to be used for +this name field. It takes one parameter, the label +to be used for the name field; the default definition is +\verb+\examNameLabel{Name:}+. + +\redpoint \cs{eqSID}. This command defines the macro \cs{eq@SID} +that creates the underlined space for the student to enter his/her +student Identification number (SID), and also defines the text box +form field, in the case the \texttt{online} or \texttt{email} +options are taken. There are two (design) parameters for +\cs{eqSID} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\newcommand\eqSID[!meta(eforms_opts)]{!meta(width)} +\end{Verbatim} +\noindent The first optional parameter can be used to modify the +appearance of the text field, see the \href{eformman.pdf}{eForms} +documentation for details. The second parameter is the width of +the field. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\eqSID[\Ff\FfRequired]{2.25in} +\end{Verbatim} +\noindent Here, the text field that will be generated (when +\texttt{online} or \texttt{email} is specified) will be a required +field. The total width of the space provided is $2.25$ inches. + +The command \cs{examSIDLabel} controls the label used for this SID field. +It takes one parameter, the label to be used for the name field; the +default is \verb+\examSIDLabel{SID:}+. + +\redpoint \cs{eqEmail}. This command defines the macro +\cs{eq@Email} that creates the underlined space for the student to +enter his/her student email address, and also defines the text box +form field, in the case the \texttt{online} or \texttt{email} +options are taken. There are two (design) parameters for +\cs{eqEmail} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\newcommand\eqEmail[!meta(eforms_opts)]{!meta(width)} +\end{Verbatim} +\noindent The first optional parameter can be used to modify the +appearance of the text field, see the \href{eformman.pdf}{eForms} +documentation for details. The second parameter is the width of +the field. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent,] +\eqEmail{2.25in} +\end{Verbatim} +\noindent Here, the text field that will be generated (when +\texttt{online} or \texttt{email} is specified). The total width +of the space provided is $2.25$ inches. + + +The command \cs{examEmailLabel} controls the label to be used for +this email field. It takes one parameter, the +label to be used for the name field; the default definition is +\verb+\examEmailLabel{Email:}+. + + +\subsubsection{Changing the Title and Cover Page} + +\redpoint \cs{maketitle}. The main heading that appears at the top +of the first page of the exam is created by the {\LaTeX} +(redefined) command \cs{maketitle}. The \cs{maketitle} has some +code to place the email button in the top margin, followed by the +expansion of the command \cs{maketitledesign}, whose definition is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand\maketitledesign +{% + \makebox[\textwidth]{\normalsize + \shortstack[l]{\strut\websubject\\\@date}\hfill + \shortstack[c]{\webtitle\\\strut\@altTitle}\hfill + \shortstack[l]{\strut\eq@ExamName\\\webauthor}}% +} +\end{Verbatim} +This command can be redefined using \cs{renewcommand} to suite your needs, for example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\makeatletter +\renewcommand\maketitledesign +{% + \makebox[\textwidth]{\normalsize + \shortstack[l]{\strut\websubject\\\webauthor, \@date}\hfill + \shortstack[l]{\webtitle\\\strut\@altTitle}\hfill + \shortstack[l]{\strut\eq@ExamName\\\eq@SID}}% +} +\makeatother +\end{Verbatim} +\noindent This code adds in a field for the student to enter +his/her student Id, here we enclose the code in a +\cs{makeatletter}/\cs{makeatother} because this redefinition +occurs in the preamble, and the code has an `\texttt{@}' in it. + +Command elements that are appropriate to the redefinition are \cs{maketitledesign} are\dots +\begin{description} + \item[\cs{websubject}] This is the course name, as determined by the \cs{subject} command. + \item[\cs{webtitle}] This is the exam name as determined by the \cs{title} command. + \item[\cs{altTitle}] An additional text field that is placed below \cs{webtitle}. + \item[\cs{@date}] This is the date as determined by the \cs{date} command. + \item[\cs{eq@ExamName}] This is the name field for the student to enter his/her name, as defined + by default or redefined by \cs{eqexamName}, see \Nameref{courseInfo}. + \item[\cs{eq@SID}] This is the student ID field for the student to enter his/her ID, as + defined by default, or redefined by the command \cs{eqSID}, see \Nameref{courseInfo}. + \item[\cs{eq@Email}] This is the student email field for the student to enter an email address, as + defined by default, or redefined by \cs{eqEmail}, see \Nameref{courseInfo}. + \item[\cs{theduedate}] This is a text macro defined by the \cs{duedate} command. For example, setting + \verb+\duedate{03/10/05}+ defines \cs{theduedate} so that it expands to \texttt{03/10/05}. May + be useful when redefining \cs{maketitledesign} for a homework assignment page. +\end{description} + +\redpoint \cs{eqexcoverpagedesign}. When the \texttt{coverpage} option is +taken, a default cover page appears unless it is redefined. The +\textsf{eqexam} package provides \cs{eqexcoverpagedesign} to design your +own cover page. The default cover page uses the + +\begin{description} + \item[\cs{websubject}] This is the course name, as determined by the \cs{subject} command. + \item[\cs{webtitle}] This is the exam name as determined by the \cs{title} command + \item[\cs{webuniversity}] This is the value set by the \cs{university} command, given + in the preamble. + \item[\cs{@date}] This is the date as determined by the \cs{date} command. + \item[\cs{eq@ExamName}] This is the name field for the student to enter his/her name, as defined + by default or redefined by \cs{eqexamName}, see \Nameref{courseInfo}. + \item[\cs{eq@SID}] This is the student ID field for the student to enter his/her ID, as + defined by default, or redefined by the command \cs{eqSID}, see \Nameref{courseInfo}. + \item[\cs{eq@Email}] This is the student email field for the student to enter his/her email address, as + defined by default, or redefined by \cs{eqEmail}, see \mlNameref{courseInfo}. +\end{description} +Copy the definition of \cs{eqexcoverpagedesign} from +\textsf{eqexam.dtx} and modify as desired. Place the new +definition in the preamble (enclosed between +\cs{makeatletter} and \cs{makeatother}) or in a custom style file. No +special support for this design is offered, because a cover page +can be designed in so many different ways. + +\newtopic Another command associated with the \texttt{coverpage} option,is the +\cs{place\-Cover\-Page\-Logo}, a simple command used to insert a logo on the cover page. +The logo can be used to cover the score in the next page if the +instructor places the score under the logo. Example of usage +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\placeCoverPageLogo{5in}{-1.5in}{\includegraphics{nwfsc_logo}} +\end{Verbatim} +Working from the upper left corner, the first parameter is the amount to move to logo +to the right, the second parameter is the amount to move the logo vertically. The +Third parameter is the content; perhaps an \cs{includegraphics} command. + + +\subsubsection{Changing the Running Headers} + +There are two running headers, one header for the exam itself, and +another when the solutions are shown at the end of the document. + +\redpoint Running Header for Exam. The commands \cs{lheadeqe}, +\cs{cheadeqe} and \cs{rheadeqe} are used for defining the left, right, and +center running headers. \textbf{Note:} these commands have been recently +renamed, originally they were named \cs{lhead}, \cs{chead} and \cs{rhead}, +but this conflicts with the \textsf{fancyhdr} package. If +\textsf{fancyhdr} has not been loaded by the time \textsf{eqexam} is +loaded, the eqexam definitions for \cs{lhead}, \cs{chead} and \cs{rhead} +still hold. Generally, it is recommended that the new command be used, +\cs{lheadeqe}, \cs{cheadeqe} and \cs{rheadeqe}. + +\begin{enumerate} +\item \begin{Verbatim}[commandchars=!()] +\lheadeqe{!meta(text)} +\end{Verbatim} +Changes the left header text of the running header. This command defines an +internal macro \cs{eq@lhead} that actually contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\lheadeqe{\shortwebsubject/\shortwebtitle} +\end{Verbatim} + +\item \begin{Verbatim}[commandchars=!()] +\cheadeqe{!meta(text)} +\end{Verbatim} +Changes the center header text of the running header. +This command defines an internal macro \cs{eq@chead} that actually +contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\cheadeqe{-- Page \arabic{page}\space of \nPagesOnExam\space--} +\end{Verbatim} + +\item \begin{Verbatim}[commandchars=!()] +\rheadeqe{!meta(text)} +\end{Verbatim} +\noindent Changes the right header text of the running header. +This command defines an internal macro \cs{eq@rhead} that actually +contains the text. +\item[]The default is \verb+\rhead{\eq@ExamName}+. +\end{enumerate} +If you want to redesign the layout of the running +header, here is the macro that the above components fill. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand\runExamHeader{\eq@lhead\hfill\eq@chead\hfill\eq@rhead} +\end{Verbatim} + +\redpoint Running Header for Solutions. The components of the +running header for the solutions pages occur, as above, on the left, center +and right of each header are defined by the commands \cs{lheadSol}, +\cs{cheadSol} and \cs{rheadSol}. + +\begin{enumerate} +\item \begin{Verbatim}[commandchars=!()] +\lheadSol{!meta(text)} +\end{Verbatim} +\noindent Changes the left header text of the running header. This +command defines an +internal macro \cs{eq@lheadSol} that actually contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\lheadSol{\shortwebsubject/\shortwebtitle} +\end{Verbatim} + + +\item \begin{Verbatim}[commandchars=!()] +\cheadSol{!meta(text)} +\end{Verbatim} +\noindent Changes the center header text of the running header. +This command defines an internal macro \cs{eq@cheadSol} that +actually contains the text. The default is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\cheadSol{-- Page \arabic{page}\space of \nPagesOnExam\space--} +\end{Verbatim} + +\item \begin{Verbatim}[commandchars=!()] +\rheadSol{!meta(text)} +\end{Verbatim} +\noindent Changes the right header text of the running header. +This command defines an internal macro \cs{eq@rheadSol} that +actually contains the text. The default definition is +\verb+\rheadSol{SOLUTIONS}+. +\end{enumerate} +\noindent If you want to redesign the layout of the running +header, here is the macro that the above components fill. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\runExamHeaderSol + {\eq@lheadSol\hfill\eq@cheadSol\hfill\eq@rheadSol} +\end{Verbatim} + +\subsubsection{Changing the Running Footers} + +The default set up of \textsf{eqexam} is to use no running footers; +actually, that's not quite right. \textsf{eqexam} places the command +\cs{settotalsbox} in the footer; this command is the one that places the +totals boxes, when requested. + +\newtopic\textsf{eqexam} defines three commands for the footer, +\settowidth{\aebdimen}{\ttfamily\string\lfooteqe\darg{\meta{text}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\lfooteqe{!meta(text)} +\cfooteqe{!meta(text)} +\rfooteqe{!meta(text)} +\end{dCmd} +\noindent where the \meta{text} is placed at the left, center, and +right of the running footer. The default for each is empty text. These +three comprise the definition of \cs{runExamFooter} +\begin{dCmd}{\linewidth} +\newcommand{\runExamFooter}{\eq@lfoot\hfill\eq@cfoot\hfill\eq@rfoot} +\end{dCmd} +\noindent The \cs{settotalsbox} and \cs{runExamFooter} then appear in the definition +of \cs{@oddfoot} in the definition of the \texttt{eqExamheadings} page style. +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand{\@oddfoot}{\settotalsbox\runExamFooter} +\end{Verbatim} +When doing any re-definition of the running footers at the \cs{@oddfoot} command, +be sure to include \cs{settotalsbox} on the \emph{left side of the running footer}; otherwise, +you will not have a totals box when you request one. + + +\subsubsection{Exam Strings} + +In this section we list a new commands that contain information about the exam. + +\settowidth{\aebdimen}{\ttfamily\string\nPagesOnExam} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\nPagesOnExam +\end{dCmd} +\noindent The command \cs{nPagesOnExam} expands to the total number of pages in the exam. + +\settowidth{\aebdimen}{\ttfamily\string\nQuesInExam\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\nQuesInExam[!meta(exam_name)] +\end{dCmd} +\noindent \cs{nQuesInExam} expands to the total number of questions in the +exam. The command takes an optional argument, the \meta{exam\_name} +(this is the name given the exam as the required argument of the +\texttt{exam} environment). If the argument is not given, the name of the +current exam is used (when executed within an \texttt{exam} environment). +If \cs{nQuesInExam} appears outside an \texttt{exam} environment, the value of +the optional argument needs to be specified. + +\newtopic There are several commands are useful for documents that have several +\textsf{eqexam} environments, these are +\settowidth{\aebdimen}{\ttfamily\string\percentForPart\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\theGrandTotal +\totalForPart{!meta(exam_name)} +\percentForPart{!meta(exam_name)} +\end{dCmd} +\noindent The first command sums the point totals for each of the +\texttt{exam} environments. The latter two, each taking one argument, the +name associated with the \texttt{exam}, reports the points for that +\texttt{exam} environment and the percent of the total for that +\texttt{exam} environment. + +\newtopic Below is a recent example taken from a final exam that I constructed for my class. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\begin{eqComments}[Final Exam:] (\theGrandTotal\space points) The +final exam has two parts: + \textbf{Part I} (\totalForPart{InstrQuestions} points or + \percentForPart{InstrQuestions} of the total points) consists of + questions written by the instructor; + \textbf{Part II} (\totalForPart{GenEd} points or + \percentForPart{GenEd} of the total points) consists of + questions provided by the Department of Mathematics. +\end{eqComments} +\end{Verbatim} + +%\promoteNewPageHere{10pt} + +\handpoint The calculation of \cs{percentForPart} is done in one of two ways: +\begin{enumerate} + \item If the \textsf{fp} package is loaded, ``floating point + arithmetic'' is used and results are rounded to the number of + decimal points determined by \cs{nPctDecPts}, the default + definition of which is \verb!\newcommand{\nPctDecPts}{1}!. This command may be redefined + to another nonnegative integer value. +\item Otherwise---if the \textsf{fp} package is \emph{not + loaded}---\TeX's count registers are used, the percentage rounded + to the nearest integer. +\end{enumerate} + +\newtopic The calculations are made when the \cs{maketitle} command is +expanded. If, for whatever reason, you are not using \cs{maketitle}, you +can place the command that does the calculations, +\cs{EQEcalculateAllTotals}, just after \verb!\begin{document}!, and before +the first use of \cs{theGrandTotal} and \cs{percentForPart}. + +\settowidth{\aebdimen}{\ttfamily\string\firstPageOfExam\darg{\meta{exam\_name}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\firstPageOfExam{!meta(exam_name)} +\lastPageOfExam{!meta(exam_name)} +\end{dCmd} +\noindent These two commands expand the page numbers of the beginning and the ending +of the exam environment, respectively, with name \meta{exam\_name}. + +\subsubsection{Localization of Strings} + +% Added 01/10/06 +% \examNameLabel +% \ptsLabel, \ptsLabel +% \eachLabel +% \pointsLabel, \pointLabel +% \defaultInstructions + +In this section we list various macros that expand to text +appearing on an \textsf{eqexam} document. The default text is in +English. These commands can be redefined to other English +language phrases, or to other languages, and placed in the preamble of your document, +or in one of the \texttt{.cfg} files. + +\begin{itemize} +% Added 01/10/06 +\item\cs{examNameLabel}: On each page of the exam, there is a place +for the student to enter her/his name. \cs{examNameLabel} can be +used to define the name label, the default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\examNameLabel{Name:} +\end{Verbatim} +\item \cs{examAnsKeyLabel}: When the \texttt{answerkey} option is in + effect, the line in which the student enters her/his name (labeled by + \cs{examNameLabel}) is filled by the value of the text macro + \cs{examAnsKeyLabel}. The default definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\examAnsKeyLabel{Answer Key} +\end{Verbatim} +Thus, when the \texttt{answerkey} +option is used, the name field appears as follows: +\begin{flushleft} +\underbar{\makebox[2.5in][l]{Answer Key}} +\end{flushleft} + +\item\cs{ptLabel} and \cs{ptsLabel}: Labels for indicating the points of a problem, the first is +the singular form of the second. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\ptLabel{pt} % singular form +\ptsLabel{pts} % plural form +\end{Verbatim} +\item\cs{eachLabel}: Label for indicating the common point value of each of several parts +of the same problem. +\begin{Verbatim}[xleftmargin=\amtIndent] +\eachLabel{ea.} +\end{Verbatim} +\item\cs{pointLabel} and \cs{pointsLabel}: The word for `points' used in the \texttt{instructions} environment + that lists the number of points in this exam. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\pointLabel{point} % singular form +\pointsLabel{points} % plural form +\end{Verbatim} +The \cs{pointsLabel} command defines \cs{eq@pointsLabel}, which, +in turn, is used in the \cs{summaryTotalsTxt}, the definition of +which follows: +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\summaryTotalsTxt} + {($\summaryPointTotal\,\text{\eqpointsLabel}$)} +\end{Verbatim} +\item\cs{defaultInstructions}: The \texttt{instructions} environment has a default heading. +The command \cs{defaultInstructions} allows you to change this heading. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\defaultInstructions{Instructions.} +\end{Verbatim} +\end{itemize} + +\newtopic See \Nameref{ptTotalsBoxes} as well as the section \mlNameref{courseInfo} for +additional details on these and commands useful for laying out the +standard text of an \textsf{eqexam} document. + +\subsubsection{Customization of Color}\label{customColor} + +When the \texttt{forcolorpaper} option is used, various elements---such as +section titles, instruction headers, color for fill-in problems, and so on---have default colors. In +this section we list the color controls, along with their default definitions. + +\begin{Verbatim}[numbers=left,xleftmargin=\amtIndent,fontsize=\fontsize{10}{14}\selectfont] +\proofingsymbolColor{red} +\instructionsColor{blue} +\eqCommentsColor{blue} +\eqCommentsColorBody{black} +\universityColor{blue} +\titleColor{black} +\authorColor{black} +\subjectColor{blue} +\linkcolor{blue} +\nolinkcolor{blue} +\fillinColor{red} +\forceNoColor +\end{Verbatim} + +\noindent\textbf{Description of Color Commands:} +\begin{enumerate} + \item The color of the proofing symbol, it appear for multiple + choice questions with the \texttt{answerkey} option in effect. + \item The color of the header text for the \texttt{instructions} environment. + The header is the text that appears in the optional argument. + \item The color for the header text for the \texttt{eqComments} environment. + The header is the text that appears in the optional argument. + \item The color for the body of the text for the \texttt{eqComments} environment. + \item The color of the university, visible only when the \texttt{coverpage} option is taken. + \item The color of the title, visible only when the \texttt{coverpage} option is taken. + \item The color of the author, visible only when the \texttt{coverpage} option is taken. + \item The color of the subject, visible only when the \texttt{coverpage} option is taken. + \item The color applied to a link, applies only when \textsf{hyperref} is included through one of the PDF options, + \texttt{links}, \texttt{online}, or \texttt{email}. + \item The color applied to a link that has been turned off, applies + only when \textsf{hyperref} is included through one of the PDF options, + \texttt{links}, \texttt{online}, or \texttt{email}. + \item The color of the a fill-in (including a True/False question) + when one of the options \texttt{answerkey}, + \texttt{vspacewithsolns}, or \texttt{solutionsonly} is + taken. + \item This convenience command forces all the above colors to black. Useful when you want to use the + \texttt{showgrayletters}. This produces a black and white document, with gray letters. (If you use the + \texttt{forpaper} option, the gray letters appear black.) +\end{enumerate} + + +\subsection{Creating Multiple Versions of Exam} + +Unfortunately, I teach multiple sections of the same course, and +am faced with the problem of writing different exams for the same +course each administered to a different section. + +Typically, I only have a need for two variations on the test; however, +further extensions can be made, if needed (See \Nameref{mutiVerNew}) + +\subsubsection{The Original Version Scheme}\label{mutiVerOrig} + +The \textsf{eqexam} package defines a boolean switch, +\cs{ifVersionA} for this purpose. The two sections of the same +course are ``Version A'' and ``Version B''. The default is that +you are preparing an exam for ``Version A''. + +The command \cs{forVersion} sets the version: \verb+\forVersion A+ +sets version to ``Version A'', and \verb+\forVersion B+ set the +version to ``Version B''. (The argument of the \cs{forVersion} command is case +insensitive, so you also type in \verb+\forVersion b+.) + +For small variations in text, there is the \cs{ifAB} macro, +\settowidth{\aebdimen}{\ttfamily\string\ifAB\darg{\anglemeta{Version A text}}% +\darg{\anglemeta{Version B text}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\ifAB{!anglemeta(Version A text)}{!anglemeta(Version B text)} +\end{dCmd} +\noindent for example, one could say, +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{problem}[2] +Compute $\frac{d}{dx}\ifAB{x^2}{x^3}$. +\end{problem} +\end{Verbatim} +\noindent For longer variations, the \texttt{comments} package is +used to create comment environments that are included or excluded. +The two environments are \texttt{verA} and \texttt{verB}. +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{problem}[2] +Compute $\frac{d}{dx}\ifAB{x^2}{x^3}$. + +\begin{solution}[1in] +We use standard techniques: +\begin{verA} +$$ + \frac{d}{dx} x^2 = 2x +$$ +\end{verA} +\begin{verB} +$$ + \frac{d}{dx} x^3 = 3x^2 +$$ +\end{verB} +\end{solution} +\end{problem} +\end{Verbatim} + +There are several convenience macros for referring to the exams +generated by the two variations. + +Usually, an exam, test, homework assignment has a number associate +with it, e.g. ``Exam 1'', ``Test 2'', ``Assignment~\#12'', etc\@. +This number should be defined using the \cs{examNum} macro. +\settowidth{\aebdimen}{\ttfamily\string\examNum\darg{\meta{num}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\examNum{!meta(num)} +\end{dCmd} +where \meta{num} is the number to be associated +with the exam (test, assignment) under construction. + +This command \emph{must appear before} \cs{title} in the +preamble. The command \cs{examNum} takes its argument and defines +another macro \cs{nExam}, which has no arguments, but expands to +\meta{num}. + +The \textsf{eqexam} package defines two commands \cs{Exam} and +\cs{sExam} to automatically enter the test information for the +current version. In the preamble, you can say, +\begin{Verbatim}[xleftmargin=\amtIndent] +\title[\sExam]{\Exam} +\end{Verbatim} +\noindent \cs{Exam} is the long version of the test name, and takes as its +argument the exam number. \cs{sExam} is the short version, having no +argument. Both \cs{Exam} and \cs{sExam} use the value determined by +\cs{examNum}, described above. + +The text of \cs{Exam} and \cs{sExam} are generated by the four +commands, +\begin{enumerate} +\item \cs{VersionAtext\darg{\meta{text}}} This is the text for the long +version of the exam name for ``Version A''. The default text is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam--Version A} +\end{Verbatim} + +\item \cs{VersionBtext\darg{\meta{text}}} This is the text for the long +version of the exam name for ``Version B''. The default text is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam--Version B} +\end{Verbatim} + +\item \cs{shortVersionAtext\darg{\meta{text}}} This is the text for the +short version of the exam name for ``Version A''. The default text +is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam A} +\end{Verbatim} + +\item \cs{shortVersionBtext\darg{\meta{text}}} This is the text for the +short version of the exam name for ``Version B''. The default text +is +\begin{Verbatim}[xleftmargin=\amtIndent] +\VersionAtext{Exam~\nExam B} +\end{Verbatim} +\end{enumerate} + +\redpoint All the above commands, +\textbf{\textcolor{blue}1}--\textbf{\textcolor{blue}4}, need to +appear before \cs{title} in the preamble.\medskip + +\noindent Below is a ``typical'' example of how to correctly +redefine all the version text. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\documentclass{article} +\usepackage{amsmath} +\usepackage[forpaper,pointsonleft,noparttotals,nosolutions]{eqexam} + +\examNum{1} +\forVersion{B} +\VersionAtext{Test~\nExam--003} +\VersionBtext{Test~\nExam--007} +\shortVersionAtext{T{\nExam}s3} +\shortVersionBtext{T{\nExam}s7} + +\title[\sExam]{\Exam} +\author{D. P. Story} +\subject[C2]{Calculus II} +\date{Spring \the\year} +\keywords{Test \nExam, Section \ifAB{003}{007}} +\end{Verbatim} + + +\subsubsection{New Version Control}\label{mutiVerNew} + +In this section we introduce a new set of commands that supersede +the commands defined above. Those commands were limited to only +two versions. The ones below can handle up to $26$ versions. + +The steps for creating a multiple version \textsf{eqexam} document are as follows. +\settowidth{\aebdimen}{\ttfamily\string\numVersions\darg{\meta{num}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\numVersions{!meta(num)} +\end{dCmd} +\noindent In the preamble, declare the number of versions for this document + using \cs{numVersions}, e.g., \verb|\numVersions{3}|. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\longTitleText + {!anglemeta(Text_1)} + {!anglemeta(Text_2)} + ... + {!anglemeta(Text_n)} +\endlongTitleText +\end{Verbatim} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\shortTitleText + {!anglemeta(Text_1)} + {!anglemeta(Text_2)} + ... + {!anglemeta(Text_n)} +\endshortTitleText +\end{Verbatim} +\textbf{Note:} If there are more titles than what are declared, the rest +of the titles are absorbed (gobbled). If there are fewer titles than declared, a +{\LaTeX} package error is generated, and ``fake'' titles are +generated. + + +\newtopic Next, state the long and short titles for the document, +one for each of the declared number of versions given earlier in \cs{numVersions}. +For example, we can use the value \cs{nExam} in our titles. Usage: +\begin{Verbatim}[xleftmargin=\amtIndent] +\longTitleText + {Test~\nExam--Version A} + {Test~\nExam--Version B} + {Test~\nExam--Make Up} +\endlongTitleText +\shortTitleText + {T\nExam A} + {T\nExam B} + {T\nExam MU} +\endshortTitleText +\end{Verbatim} +These two commands give values to \cs{Exam} and \cs{sExam}. If +\verb!\forVersion{a}! is executed, \cs{Exam} expands to the text \verb|Test~\nExam--Version A| and +\cs{sExam} expands to \verb|T\nExam A|, using the example above. The value of \cs{nExam} +is determined by the \cs{examNum} command, as described above. + +\newtopic Next is the command that does all the work. It creates alternate +text macros for each of the versions declared using \cs{numVersions}. The syntax is +\settowidth{\aebdimen}{\ttfamily\string\forVersion\darg{\meta{letter}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\forVersion{!meta(letter)} +\end{dCmd} +For example, assuming \verb|\numVersions{3}|, \verb|\forVersion{a}| (or \verb|\forVersion{A}|) defines $3$ text commands \cs{vA}, \cs{vB} and +\cs{vC}, each taking one argument, the text you want to display: +\begin{Verbatim}[xleftmargin=\amtIndent] + Name the \vA{place}\vB{date}\vC{year} of the signing + of the Magna Carta. +\end{Verbatim} +\noindent Since \verb|forVersion{a}| was declared, only the \cs{vA} text +is displayed, the others are gobbled up. But wait, time out, the \cs{forVersion} +does more than that! It also creates a series of comment environments +\verb|\begin{verA}/\end{verA}|, \verb|\begin{verB}/\end{verB}|, \verb|\begin{verC}/\end{verC}|, etc., +where only the version for which this compile applies will be typeset, +the others are commented out. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\numVersions{3} +\forVersion{b} +... +\begin{document} +... +Solve the equation for $\vA{x}\vB{y}\vC{z}$: +\[ +\begin{verA} + 2x + 4 = 7 +\end{verA} +\begin{verB} + 5y + 2 = 4 +\end{verB} +\begin{verC} + 3z - 2 = 2 +\end{verC} +\] +\end{Verbatim} + +\noindent Here is a final example of the multiple version scheme, taken from the preamble of one of +my Calculus tests. + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\documentclass{article} +\usepackage{amsmath,graphicx} +\usepackage[forpaper,pointsonleft,nototals,nosolutions]{eqexam} +%\usepackage[forpaper,pointsonleft,nototals,answerkey]{eqexam} + +\numVersions{3} +\forVersion{a} +\examNum{1} +\longTitleText + {Test \nExam--Version A} + {Test \nExam--Version B} + {Test \nExam--Make Up} +\endlongTitleText +\shortTitleText + {T\nExam A} + {T\nExam B} + {T\nExam MU} +\endshortTitleText + +\subject[C3]{Calculus III} +\title[\sExam]{\Exam} +\author{Dr.\ D. P. Story} +\university +{% + THE UNIVERSITY OF AKRON\\ + Department of Theoretical and Applied Mathematics +} +\date{\thisterm\space\the\year} % Fall 2005 +\duedate{09/26/05} % actual date of the test +% If you convert to pdf using a pdf (links, online, email) +% option, this will appear in the keywords field of the +% document info dialog. +\keywords{\Exam, administered \theduedate} +\end{Verbatim} + +\newtopic There is one additional command that can be used to locally control +which version that is typeset in the document. +\settowidth{\aebdimen}{\ttfamily\string\selectVersion\darg{\meta{num}}% +\darg{\meta{total\_versions}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\selectVersion{!meta(num)}{!meta(total_versions)} +\end{dCmd} +You can place the \cs{selectVersion} command in front of a question or a part of a question +that has multiple versions. Through this command you can select which version to typeset, +provided the option \texttt{obeylocalversions} is set. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\selectVersion{3}{4} +\begin{problem}[10] +... +\end{problem} +\end{Verbatim} +\noindent The \cs{selectVersion} command says there are four variations on the next question +and the document author wants to use the third one (that would correspond to C, in the +\cs{forVersion} command). Again, the \texttt{obeylocalversions} must be taken for +\textsf{eqexam} to obey this command. + +\newtopic \textbf{Recommendation:} Each problem should +have the command \cs{selectVersion} in front of it, even for parts. +Suppose the document author says \verb!\numVersions{5}!, but some +problems don't have five versions, what do you do? If there is a +\cs{selectVersion} in front of a problem with multiple versions, the +\cs{selectVersion} will partially expand to determine if it is +needed. It is needed if the version specified by \cs{forVersion}, is +greater than the number of versions for the problem. In this case, +\cs{selectVersion} performs modular arithmetic to compute which +version is to be used. For example, if \verb!\forVersion{E}! has +been declared in the preamble, but a problem has only three +variations, the \textsf{eqexam} will use variation B; if +\verb!\forVersion{D}! was declared, version A is +used, and so on. + + +\subsection{The Point and Totals Boxes}\label{ptTotalsBoxes} + +There are two types of points boxes, but only one type of totals +box. All the commands listed below can be redefined for language +localizations, for example. + +\redpoint Points that appear in the left margin (the +\texttt{pointsonleft} or \texttt{pointsonboth} options). There are two text macros +that are used, +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\leftmarginPtsTxt[1]{(\small$#1^{\text{pts}}$)} +\end{Verbatim} +\noindent when the total points for that problem are shown, and the other +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\leftmarginPtsEaTxt[1] + {(\small$#1_{\text{ea.}}^{\text{pts}}$)} +\end{Verbatim} +\noindent when the author indicates that each sub-part of a problem +is weighted the same, (when the author begins a \texttt{problem*} +environment with \verb+\begin{problem*}[3ea]+, for example). + +\redpoint Points that appear in the right margin (options +\texttt{pointsonright} or \texttt{pointsonboth}). These points appear +in the bottom half of a box, the text for that box is determined by the +following definition. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\marginpointsboxtext[2]{\small$#1\,\text{pts}$} +\end{Verbatim} +\noindent By the way, the purpose of the upper part of the box is +for the instructor to enter the number of points a student +received for that problem. + +\redpoint Points specified by the \cs{PTs} command. This text is +defined by \cs{itemPTsTxt} as follows. See the paragraphs on +\Nameref{problemstar} for a discussion of the use of \cs{PTs}. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\itemPTsTxt[1]{($#1$ pts)} +\end{Verbatim} + +\redpoint \textbf{The totals box.} When you specify either option +\texttt{totalsonleft} or \texttt{totalsonright}, you get a page totals +box appearing in the lower left or right bottom corner. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\newcommand\totalsboxtext{\small$\theeqpointsthispage\,\text{pts}$} +\end{Verbatim} +where \texttt{eqpointsthispage} is a counter whose value +at the end of each page \emph{should} be the page total. For tests +that have multiple \texttt{exam} environments, if one exam part +ends on a page, and another begins on the same page, this number +(\texttt{eqpointsthispage}) is the total on the page from the +beginning of the new exam part. In this case, at the end of the +exam part, there should also appear a remaining total for that +part on that page. + +The totals boxes are located in the lower right corner +(\texttt{totalsonright}) or in the lower left corner +(\texttt{totalsonleft}). Vertical placement of these boxes is controled +by the length \cs{eqevtranstotbox}, its default value is +\texttt{0pt}. To raise the boxes \texttt{6pt}, for example, +execute \verb!\setlength{\eqevtranstotbox}{6pt}!; the box may be lowered +by using a negative length. + +\redpoint \textbf{Summary Totals.} When you use the \texttt{instructions} +environment to give initial instructions for an exam, the total +points appears automatically in the text, unless you specify the +\texttt{nosummarytotals} option. This text is defined by +\cs{summaryTotalsTxt}, whose definition follows: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\newcommand\summaryTotalsTxt{($\summaryPointTotal\,\text{points}$)} +\end{Verbatim} +\noindent where \cs{summaryPointTotal} is a macro that expands to +the total for this \texttt{exam} environment. + +\subsection{The \texttt{eqComments} Environment} + +In addition to the \texttt{instructions} environment, as explained +in the section~\ref*{exam}, entitled \Nameref{exam}, should you want to insert +additional instructions from within the body or the exam, use the +\cs{eqComments} environment. The \cs{eqComments} environment has +one optional argument, a formatted heading for the comments you +want to make. For example, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{eqComments}[Proofs.] +Solve each of the problems~5--8 on a separate sheet of paper, +do not write on the back of the paper. Follow the instructions +provided for each problem. Use your little gray cells. +\end{eqComments} +\end{Verbatim} +\noindent Such instructions must go between problems, of course, +not within the body of either a \texttt{problem} or a +\texttt{problem*} environment. + +\redpoint The optional argument has a color associated with it, and +is visible when you compile the document with the +\texttt{forcolorpaper} option. \cs{eqCommentsColor} colors the text that may appear +in the optional argument of the environment; \cs{eqCommentsColorBody} colors the body +of the text. Each take a single named color argument. +\begin{Verbatim}[xleftmargin=\amtIndent] +\eqCommentsColor{blue} +\eqCommentsColorBody{black} +\end{Verbatim} +The above are the default definition. + +\subsection{The \texorpdfstring{\protect\cs{OnBackOfPage}}{\textbackslash OnBackOfPage} Command}\label{onbackofpage} + +In order to reduce the number of pages needed for an exam, I often +cheat by asking the student to work on the back of one of the test +pages. +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\bopText{on the back of page~\boPage} +\newcommand\bopCoverPageText{(the cover page)} +\newcommand\OnBackOfPage[1][\bopText]{% +\end{Verbatim} + +For this, I use the \cs{OnBackOfPage} command +\settowidth{\aebdimen}{\ttfamily\string\OnBackOfPage[\meta{text}]} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\OnBackOfPage[!meta(text)] +\end{dCmd} +\noindent The optional argument allows you to enter variational +text, text that varies from the default text. The default text is +contained in \cs{bopText} macro, its definition is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\bopText{on the back of page~\boPage} +\end{Verbatim} +\noindent where \cs{boPage} is the page the student is instructed +to do the work. Thus, if you say, ``Continue \cs{OnBackOfPage}.'' +This would expand to ``Continue on the back of page 2.'', or +whatever \cs{boPage} is determined to be. + +\newtopic To illustrate the use of the optional argument of +\cs{OnBackOfPage}, you might say, +\begin{quote} + \verb+\OnBackOfPage[The back of page~\boPage]+ can be used\\ + to continue work, if necessary. +\end{quote} +This expands to +``The back of page 2 can be used to continue work, if necessary.'' + +The algorithm used to compute the page, \cs{boPage}, on which to +continue to work is as follows: For all pages, except for the +first page of the test, the student works on the back of the +previous page. For the first page of the test, the student works +on the back of the first page, unless there is a cover page, in +which case the student is instructed to work on the back of that +page. + +In the case of working on the back of the cover page, there is a variation on the +instructions, \cs{OnBackOfPage} expands to ``on the back of page 1 (the cover page)''. +The phrase ``(the cover page)'' can be redefined using the \cs{bopCoverPageText} command. +The definition of this command is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\bopCoverPageText{\space(the cover page)} +\end{Verbatim} +\noindent We could change this as follows, +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand\bopCoverPageText{, the cover page} +\end{Verbatim} +\noindent so that it would now read, ``on the back of page 1, the cover page''. To remove this feature +altogether, you could redefine as +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand\bopCoverPageText{} +\end{Verbatim} + +\subsection{\texorpdfstring + {The \cs{pushProblem} and \cs{popProblem} Commands} + {The \CMD{pushProblem} and \CMD{popProblem} Commands} +} + + +There may be an occasion when a multi-part question needs to be broken between parts, +use the \cs{pushProblem} and \cs{popProblem} for this purpose. The push saves the +counter value, and ends the \texttt{parts} environment. The pop restarts the +\texttt{parts}, and resets the parts counter. + +\newtopic +In the \texttt{multicols} environment below, we \cs{pushProblem}, then close \texttt{multicols}, we execute \cs{popProblem}, and then continue with the multi-parts in single column. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +Do each of the following without error. +\begin{multicols}{2} + \begin{parts} + \item\PTs{3} This is a problem. + \begin{solution}[1in]\end{solution} + + \item\PTs{3} This is a problem. + \begin{solution}[1in]\end{solution} +\pushProblem +\end{multicols} +\popProblem + \item\PTs{4} Do this harder problem. + \begin{solution}[.5in]\end{solution} + \end{parts} +\end{problem*} +\end{Verbatim} +\newtopic In the example, the first two questions appear in two +column format, while the third appears in single column format. The +same thing can be done in reverse, like so: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem*}[\auto] +Do each of the following without error. + \begin{parts} + \item\PTs{3} This is a problem. + \begin{solution}[1in]\end{solution} +\pushProblem +\begin{multicols}{2} +\popProblem + \item\PTs{4} This is a hard problem. + \begin{solution}[1in]\end{solution} + \item\PTs{4} Do this harder problem. + \begin{solution}[1in]\end{solution} + \end{parts} +\end{multicols} +\end{problem*} +\end{Verbatim} +\newtopic Now, first question is in single column and the next two are in two column format. + +\handpoint In order to get the correct formatting, the \texttt{multicols} environment must begin +before the \texttt{parts} environment. + +%\newtopic See \texttt{quiz02.tex} for an example of \cs{pushProblem} and \cs{popProblem}. + +\exAeBBlogPDF{p=1211} See \texttt{\href{\urlAcroTeXBlog/?p=1211}{quiz02.pdf}} +for an example of \cs{pushProblem} and \cs{popProblem}. + + +\subsection{\texorpdfstring{\protect\cs{qNewPage}, \protect\cs{aNewPage}, + and \protect\cs{promoteNewPage}} + {\CMD{qNewPage}, \CMD{aNewPage}, and \CMD{promoteNewPage}}}\label{aqpNewPage} + +The command \cs{qNewPage} (questions newpage) and \cs{aNewPage} +(answers newpage) are convenience commands for creating new pages. +The first one expands to \cs{newpage} when the \cs{ifanswerkey} is +false and the second one expands to \cs{newpage} when the +\cs{ifanswerkey} is true; their definitions are +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand\qNewPage{\ifanswerkey\else\newpage\fi} +\newcommand\aNewPage{\ifanswerkey\newpage\fi} +\end{Verbatim} + +The \cs{promoteNewPage} can be used to insert a page break, if needed. +\settowidth{\aebdimen}{\ttfamily\string\promoteNewPage\darg{\meta{vspace}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\promoteNewPage[!meta(vspace)] +\end{dCmd} +If there is more than \meta{vspace} left on the current page, a +\cs{newpage} command is executed (a \cs{columnbreak} if in a +\texttt{multicols} environment). The default value for \meta{vspace} +is \cs{@fvsizeskip}\cs{textheight}, where \cs{@fvsizeskip} is a decimal +number between 0 and 1 that is set by \cs{fvsizeskip}. The default is +\verb!\fvsizeskip{.3}!. This means that if there is less than +\verb!.3\textheight!, and new page is created. This may be too large for +most applications, so you can pass a \meta{vspace} through the optional argument. +For example, \cs{promoteNewPage[.25in]}. + + + +\subsection{Support for Solution Sets from a Text}\label{solnSets} + +I use \textsf{eqexam} not only for exams, quizzes and homework +assignments, but also for solution sets for problems assigned from the text. + +Suppose the assignment was to solve, on a certain page in the text, +problems which include \textbf{2}, \textbf{6} and \textbf{12(b)(d)} and +it is desired to provide solutions to these problem. For this +purpose, \textsf{eqexam} provides \cs{forproblem} and \cs{foritem}. These +commands are used as follows: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{exam}{HW\nExam} +\begin{instructions}[Description] (10 points) +Selected solutions from Assignments~24, 25, \S7.1. +\end{instructions} + +\begin{eqComments}[\S7.1] +\textbf{Solving Linear Equations} +\end{eqComments} + +\forproblem{2} +\begin{problem} +Statement of problem. +\begin{solution} +Solution to this problem. +\end{solution} +\end{problem} + +\forproblem{6} +\begin{problem} +Statement of problem. +\begin{solution} +Solution to this problem. +\end{solution} +\end{problem} + +\forproblem{12} +\begin{problem*} +Statement of problem. +\begin{parts} + \foritem{b} Statement for item (b) + \begin{solution} + Solution to this problem. + \end{solution} + + \foritem{d} Statement for item (d) + \begin{solution} + Solution to this problem. + \end{solution} +\end{parts} +\end{problem*} +\end{exam} +\end{Verbatim} + +\subsection{Referencing Multiple Choice Questions}\label{showgraylettersOpt} + +When the \texttt{showgrayletters} option is used, each alternatives in a +multiple choice question will have a gray capital letter \texttt{A}, +\texttt{B}, \texttt{C}, etc. underneath it. This letter can then be +referred to in the text or the solution. + +The use of this option is global and is controlled by the switch, +\cs{ifaeb\-show\-gray\-letters}. The gray letter feature can be turned on +and off locally: To turn on this feature, insert the command +\cs{graylettersOn} at some appropriately chosen point in +the document; to turn off the gray letter feature insert +\cs{graylettersOff}. + +\newtopic In support of the \texttt{showgrayletters} option is a new +command \cs{REF}. \cs{REF} acts like the {\LaTeX} command \cs{ref} +with the hyperref modifications, but it converts the reference to +uppercase. When \cs{ref} would typeset the letter `a', for example, +\cs{REF} would typeset the letter `A'. \cs{REF}, like \cs{ref}, +typesets a hyperref link. Hyperref defines a \texttt{*} version of +\cs{ref}; \cs{ref*} typesets the reference, but does not create a +link; \cs{REF*} does the same. When \cs{aebshowgraylettersfalse} is +in effect, \cs{REF} does not capitalize the reference. + +\redpoint Below is an example of this. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{problem}[5] +Answer this if you can! +\begin{answers}{2} +\bChoices + \Ans0\label{testsqFirst} This is a possible answer.\eAns + \Ans1\label{testsqSecond} Try this one (the correct one).\eAns + \Ans0 This is an answer.\eAns + \Ans0 Another alternative.\eAns +\eChoices +\end{answers} +\begin{solution} +We reference alternatives (\REF*{testsqFirst}), an incorrect answer, +and (\REF{testsqSecond}), the correct answer. +\end{solution} +\end{problem} +\end{Verbatim} +\newtopic Notice that the gray letters was not turned to off +until after the usage of \cs{REF}. + +\newtopic\textcolor{red}{\bfseries Important} The gray letters are typeset into the document. Do not +use a background color for the checkboxes as this color will cover +up the gray letters. The default background color checkboxes is +transparent, keep it that way. + +\newtopic When typesetting an exam for paper (using the \texttt{forpaper} +option), the gray letters appear as black letters. If you want actual gray +letters, you have to use the \texttt{forcolorpaper} option. In this case, +you'll see the blue color appearing in various places. Change these blue +colors to black using the following commands in the preamble: +\settowidth{\aebdimen}{\ttfamily\string\forceNoColor} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\forceNoColor +\end{dCmd} + + +\subsection{Displaying Points between two Markers} + +Some instructors might like a subdivide the exam into segments (or parts) and to have a total for +that segment of problems. The \textsf{eqexam} package offers three commands for that purpose. +\settowidth{\aebdimen}{\ttfamily\string\calcFromMarkers[\meta{formatting}]\darg{\meta{name2}}\darg{\meta{name3}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\placeMarkerHere{!meta(name)} +\calcFromMarkers[!meta(formatting)]{!meta(name2)}{!meta(name3)} +\markerTotalFmt{!meta(formatting)} +\end{dCmd} +Place \cs{placeMarkerHere} outside of a \texttt{problem}/\texttt{problem*} environment, giving each +a unique name; for example \verb!\placeMarkerHere{bQForm}!. Place +\cs{calcFromMarkers} wherever you wish a calculation to be displayed, for example, + +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\placeMarkerHere{bQForm} +\begin{eqComments}[Quadratic Formula\calcFromMarkers{eQForm}{bForm}.] +Solve each of the following equations using the quadratic formula. +\end{eqComments} +.. +\begin{problem}[5] +... +\end{problem} +... +% Finished with problems that use the quadratic formula, +% now create another marker for the next set of questions. +\placeMarkerHere{eQForm} +... +\end{Verbatim} +After you {\LaTeX} three times (and the totals are all brought up to date), +the header of the \textbf{eqComments} should read \textbf{Quadratic +Formula (12 points)}, where the \textbf{12 points} are the total of all +points assigned between the \texttt{bQForm} marker and the \texttt{eQForm} +marker. + +The formatting for the total points between markers is determined by the optional first parameter +of \cs{calcFromMarkers}, and if there is no optional first parameter, by a global command, +\cs{markerTotalFmt}, which sets the default formatting. The default definition of +\cs{markerTotalFmt} is +\begin{Verbatim}[xleftmargin=\amtIndent] +\markerTotalFmt{ (\themarkerCnt\space points)} +\end{Verbatim} +The command \cs{themarkerCnt} references the counter \texttt{markerCnt} in which the calculations are made. +Any redefinition of \cs{markerTotalFmt} should use \cs{themarkerCnt} to reference to value. + +You use the optional first parameter the same way as the definition of \cs{marker\-Total\-Fmt}. You can say, for +example, you can type +\begin{Verbatim}[xleftmargin=\amtIndent] +\calcFromMarkers[ $\themarkerCnt^{\text{pts}}$]{eQForm}{bForm} +\end{Verbatim} +to get a formatted total \verb*! $12^{\text{pts}}$!, which typesets to ` $12^{\text{pts}}$'. + +You might have noticed that I've inserted a space character at the beginning of the definition +\verb*!\markerTotalFmt{ (\themarkerCnt\space points)}!, and place \cs{calc\-From\-Markers} up against +the previous word, as in +\begin{Verbatim}[xleftmargin=\amtIndent] +Quadratic Formula\calcFromMarkers{eQForm}{bForm}. +\end{Verbatim} +This is so that when the required totals are not defined---early in the {\LaTeX}ing process---there +is no space between \texttt{Formula} and the period (.); this is nothing but a cosmetic trivial point. After +you {\LaTeX} enough times, the full expansion appears as, +\begin{Verbatim}[xleftmargin=\amtIndent] +Quadratic Formula (12 points). +\end{Verbatim} + + +\subsection{Extending the \texorpdfstring{\protect\cs{fillin}}{\CMD{fillin}} Command}\label{extendfillin} + +When the document author uses the \texttt{usexkv} option, and the +\textsf{xkeyval} package is found on the document author's system, +the \cs{fillin} command is redefined to use key-value pairs in the +optional first argument. The syntax for \cs{fillin} now is, +%\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\fontsize{9}{11}\selectfont] +\begin{dCmd}[commandchars=!(),fontsize=\small]{\linewidth} +\fillin[ + underline=true|false,u,b,boxed=true|false,boxpretext=!anglemeta(text), + align=l|r|c,boxsize=!anglemeta(!upshape(\tiny|...|normalsize|large|...|Huge)), + color=!anglemeta(namedcolor),format=!anglemeta(!upshape\bfseries|\ttfamily|\Large|!meta(whatever)), + enclosesoln=!anglemeta(!upshape(true|false)),fitwidth=!anglemeta(!upshape(true|false)) +]{!meta(width)}{!meta(answer)} +\end{dCmd} +\textbf{Parameter Description.} \cs{fillin} takes three parameters. +\begin{enumerate} +\item The first optional parameter uses a key-value system, these allow the document author +to set the appearance and behavior of the field. The keys are described below. + +\item The second parameter \meta{width} is the amount of horizontal +space to leave for the student to write in the response. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +\fillin[boxed,boxsize=Large]{1.5in}{$2x - 3$} +\end{Verbatim} +Yields the following results, depending on the option. +\begin{alignat*}{2} +&\makebox[1.5in][c]{\text{\texttt{nosolutions} option}}&&\qquad +\makebox[1.5in][c]{\text{\texttt{answerkey} option}}\\ +&\boxed{\text{\Large\strut}\makebox[1.5in]{\hfill}}&&\qquad +\boxed{\text{\Large\strut}\makebox[1.5in]{$2x-3$}} +\end{alignat*} +If this parameter is left empty, +the \textsf{eqexam} uses the \meta{answer} parameter to determine the width of the field. +The code +\begin{Verbatim}[xleftmargin=\amtIndent] +\fillin[boxed,boxsize=Large]{}{$2x - 3$} +\end{Verbatim} +gives a box the same width as the answer, $2x-3$, which is not very wide +in this case. On the test, (compiled with the \texttt{nosolutions} option) +the student would see this box +$\boxed{\text{\Large\strut}\text{\phantom{$2x-3$}}}$. Though we can typeset the +answer into this box, it is too narrow for the student to write the answer +into; a better strategy is as follows: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\fillin[boxed,boxsize=Large]{\ifNoSolutions{1.5in}{}}{$2x - 3$} +\end{Verbatim} +Now, when the file is compiled under different options, we obtain +\begin{alignat*}{2} +&\makebox[1.5in][c]{\text{\texttt{nosolutions} option}}&&\qquad +\makebox[1.5in][c]{\text{\texttt{answerkey} option}}\\ +&\boxed{\text{\Large\strut}\makebox[1.5in]{\hfill}}&&\qquad +\makebox[1.5in][c]{$\boxed{\text{\Large\strut}2x-3}$} +\end{alignat*} +For the answer key version, the answer is enclosed is tightly enclosed, a +cosmetic difference. See also the \texttt{fitwidth} option. + +\item[] The command \verb!\ifNoSolutions{#1}{#2}! executes the first parameter if +the compile option is \texttt{nosolutions}, otherwise it executes the second parameter. + +\item The third argument, \meta{answer}, is the correct answer; this correct answer +appears when the document is compiled with the \texttt{answerkey} option. +\end{enumerate} + +\newtopic\textbf{The description of the key-value pairs for \cs{fillin}:} +\begin{description} + \item[\texttt{underline}:] A Boolean switch, which if \texttt{true}, the + fill-in region is underlined. The default is \texttt{false}, the region + is not underlined. + \item[\texttt{u,b}:] Legacy options. If \texttt{u} is chosen, the region is + underlined, if \texttt{b} is chosen, the region is not underlined. Use + of the \texttt{underline} key is recommended. + \item[\texttt{boxed}:] A Boolean switch, which if \texttt{true}, the + fill-in region is boxed in using the \cs{boxed} command of + \textsf{amsmath} package. The default is \texttt{false}, the region is + not boxed. + \item[\texttt{boxpretext}:] A key that takes \meta{text} as its value. This + value will be placed in front of the third argument, labeled + \meta{answer} above. The \meta{text} appears in the box even when + the \texttt{answerkey} is not in effect. This key is ignored if the + \texttt{boxed} option is not taken. + + This option allows you to create an expression like +\begin{equation*} + \boxed{ y =\hspace{1in}\text{\Large\strut}}\quad\text{and with \texttt{answerkey}}\quad + \boxed{ y = \rlap{$2x^2 + 1$}\hspace{1in}\text{\Large\strut}} +\end{equation*} + \item[\texttt{boxsize}:] This is a choice key, the choices being \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, + \texttt{large}, \texttt{Large}, \texttt{LARGE}, \texttt{huge} and \texttt{Huge}. the smaller sizes probably are not useful, + I give them to you for free. This key allows you to adjust the height of the box. This key is ignored if the + \texttt{boxed} key does not appear in the option list. For example, +\begin{flushleft} +\hskip\leftmargini\begin{tabular}{@{}cc} + \makebox[1.2in][c]{\texttt{boxsize=Large}}&\makebox[1.2in][c]{\texttt{boxsize=Huge}}\\ + \multicolumn{1}{@{}p{1.2in}}{\kern0pt\centering\fbox{\hspace{1in}\Large\strut}}& + \multicolumn{1}{p{1.2in}}{\kern0pt\centering\fbox{\hspace{1in}\Huge\strut}} +\end{tabular} +\end{flushleft} + Choice of size depends on the height of the anticipated response of + the student. The default is \texttt{normalsize}. + + \item[\texttt{enclosesoln}:] This Boolean key only takes effect when the + \texttt{boxed} key is used, and when either the \texttt{nosolutions} or the + \texttt{vspacewithsolns} option is taken. When these conditions are + met, a box is created around the solution (the third parameter of \cs{fillin}); the solution + is enclosed in a \cs{phantom} so it is not seen, but the dimensions of the solution are used. + This key allows you to create a box or arbitrary dimension. + +A simple example would be +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\fillin[boxed,enclosesoln,parbox={[t][1in]}]{2.4in}{% + The box is 2.4 inch wide and 1 inch high. The solution to + this problem appears when \texttt{answerkey} is in effect. +} +\end{Verbatim} +Below shows how this command appears under different options. +\begin{equation*}\def\fb#1{#1-2\fboxrule-2\fboxsep} +\boxed{\phantom{\parbox[b][\fb{1in}][t]{\fb{2.4in}}{% + The box is 2.4 inch wide and 1 inch high. The solution to + this problem appears when the answerkey is in effect} +}}\quad\boxed{\parbox[b][\fb{1in}][t]{\fb{2.4in}}{% + The box is 2.4 inch wide and 1 inch high. The solution to + this problem appears when \texttt{answerkey} is in effect. +}} +\end{equation*} +The box on the left is appears when the \texttt{nosolutions} or +\texttt{vspacewithsolns} is in effect. The one on the right appears when +the \texttt{answerkey} option is taken. Note the size of the two boxes are +the same. + +\textbf{Note:} The explanation of the \texttt{parbox} option used in this +example appears below. + +\item[\texttt{fitwidth}] This key is an implementation of the + \cs{ifNoSolutions} strategy discussed earlier. If \texttt{fitwidth} is + specified and the \texttt{nosolutions} option (an \textsf{eqexam} + option) is in effect, the width of the fill-in region is taken from + the second parameter; however, if the \texttt{answerkey} option is + specified, the natural with of the answer (the third parameter) is + used. + + \item[\texttt{align}:] A key that takes one of three values, \texttt{l}, + \texttt{\texttt{r}}, and \texttt{c}. This key aligns the text within + the fill-in field (when the \texttt{answerkey} option is taken): + \texttt{l} (left-aligned), \texttt{c} (center, the default), \texttt{r} + (right-aligned). This parameter affects the position of the + \meta{answer}, and does not affect the position of the + \meta{text}, which is aligned left, of the \texttt{boxpretext} key. + The alignment becomes visible when the \texttt{answerkey} option is in + effect. + + \item[\texttt{hiddenbox}:] When the \texttt{boxed} option is used, + \textsf{eqexam} uses an \cs{fbox} to enclose the content. + The \texttt{hiddenbox} is used with the \texttt{boxed} option and it + resets the lengths of \cs{fboxrule} and \cs{fboxsep} to + \texttt{0pt}. In this way, some of the features + (\texttt{enclosesoln} and \texttt{boxpretext}, for example) that + apply to boxed content can be used without the surrounding boundary + rule. See \texttt{parbox} for an example. + + \item[\texttt{parbox}:] When this option is taken, \textsf{eqexam} + encloses the third argument (the answer) in a \cs{parbox}. The value + of the \texttt{parbox} option is the first three parameters of a + \cs{parbox}; for example \verb!parbox={[t][.5in][c]}! causes \cs{fillin} + to enclose the content in a \cs{parbox} with a height of \texttt{.5in}. The width + of the \cs{parbox} is taken to be the second parameter of + \cs{fillin} macro. The third parameter of \cs{fillin} becomes + \cs{parbox[t][.5in][c]\darg{\meta{width}}\darg{\meta{answer}}}. + The value of the \texttt{parbox} key needs to be + enclosed in braces, as just illustrated. + +Here is an example of the use of this key-value pair: +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\fillin[parbox={[t][.5in]},boxed,hiddenbox, + boxpretext={\textbf{\textcolor{black}{Conclusion: }}}, + format=\normalfont,enclosesoln]{\linewidth}{% + There is sufficient evidence at the $\alpha=0.05$ level to + conclude that the mean microwave repair cost is less than + \$100.} +\end{Verbatim} +If you say \cs{fillin[parbox,boxed,\meta{options}]\darg{\meta{width}}\darg{\meta{answer}}} (\texttt{parbox} with the +empty argument), translates into \cs{parbox\darg{\meta{text}}}, the height of the box is the +natural height of the content. + +Note the presence of the \texttt{hiddenbox} key, in this case, no rule +or additional spacing appears around the box. + + This typesets, when \texttt{answerkey} option is used as + + \parbox[t][.5in]{\linewidth}{\textbf{\textcolor{black}{Conclusion: }} + There is sufficient evidence at the $\alpha=0.05$ level to + conclude that the mean microwave repair cost is less than + \$100.} + + When \texttt{answerkey} is not used, the following is seen (by the student at test time): + + \parbox[t][.5in]{\linewidth}{\textbf{\textcolor{black}{Conclusion: }}} + + The same vertical space is used in both cases because of the \texttt{enclosesoln} + option taken in this example. + + If the \texttt{hiddenbox} key is removed, a proper boxed region appears, + + $\def\FB#1{#1-2\fboxrule-2\fboxsep} + \boxed{\parbox[t][\FB{.5in}]{\FB{\linewidth}}{\textbf{\textcolor{black}{Conclusion: }} + There is sufficient evidence at the $\alpha=0.05$ level to + conclude that the mean microwave repair cost is less than + \$100.}}$ + + Similarly, when \texttt{answerkey} is not used, the following is seen, + + $\def\FB#1{#1-2\fboxrule-2\fboxsep} + \boxed{\parbox[t][\FB{.5in}]{\FB{\linewidth}}{% + \textbf{\textcolor{black}{Conclusion: }}\hfill\vfill}}$ + + + \item[\texttt{color}:] The value of this key is a named color. The + \meta{answer} appears in this color, when \texttt{answerkey} option is + in effect. The default is red. + + \item[\texttt{format}:] A general purpose formatting key. The value of the key can be most anything: + \cs{bfseries} (to change font series), \cs{ttfamily} (to change font family), \cs{Large} (to change size of + the \meta{answer} and \meta{text} (the value of \texttt{boxpretext}). Several formatting commands can appear + as the value; thus, \verb!format={\bfseries\Large}! makes the answer, when \texttt{answerkey} is in effect, appear in large bold font. + The default is \verb!format={\fillInFormatDefault}!, where the definition of the command \cs{fillInFormatDefault} is +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\fillInFormatDefault}{\bfseries} +\end{Verbatim} +\end{description} +The next three keys apply when a \texttt{boxed} option is not taken, that is, they +apply to the case of \texttt{u} (\texttt{underlined}) or \texttt{b} (blank). The keys were designed +for the \texttt{underline} option, however. +\begin{description} +\item[\texttt{lift}:] The syntax is \texttt{lift=length} This key lowers the underline without changing the baseline reference +point of the content. For example, \texttt{lift=10pt} lowers the underlining by \texttt{10pt}. +\begin{equation*} +\frac{1}{2}+\frac{1}{3} = \underbar{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}} +\qquad +\frac{1}{2}+\frac{1}{3} = \raisebox{-10pt}{\underbar{\raisebox{10pt}{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}}} +\end{equation*} +The expression on the right corresponds to +\begin{Verbatim}[xleftmargin=\amtIndent] +$...\fillin[lift=10pt]{1in}{\frac{3}{4}}...$ +\end{Verbatim} +The underline is lowered to include the baseline of the denominator of the fraction. + +\item[\texttt{autolift}:] The \texttt{autolift} key takes the guesswork + out of the \texttt{lift}. When \texttt{autolift} is used, the depth of + the content of the answer field. For example, with the \texttt{autolift} key, + \verb!\fillin[autolift]{1in}{\frac{3}{4}}! yields + {\setbox0=\hbox{$\displaystyle\frac{3}{4}$} + \raisebox{-\dp0}{\underbar{\raisebox{\dp0}{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}}}}. + Now the fraction is exactly underlined. + +\item[\texttt{addtoautolift}:] The \texttt{addtoautolift} key is a companion to \texttt{autolift}. + If we assign \texttt{addtoautolift=3pt}, \texttt{3pt} additional lift is added + to the amount of lift determined by \texttt{autolift}. For example, +\begin{small}% +\begin{equation*} +\setbox0=\hbox{$\displaystyle\frac{3}{4}$} +\dimen0=\dp0 \advance\dimen0by3pt + \verb!\fillin[autolift,addtoautolift=3pt]{.5in}{\frac{3}{4}}!\ \text{yields}\ + \raisebox{-\dimen0}{\underbar{\raisebox{\dimen0}{\makebox[.5in]{\ensuremath{\displaystyle\frac{3}{4}}}}}} +\end{equation*} +\end{small}% +the number three-fourths is underlined plus \texttt{3pt} more. +\end{description} +The keys are processed by an \cs{edef}, this allows you to define a +command with your favorite options; for example, you can define +\begin{Verbatim}[xleftmargin=\amtIndent] +\newcommand{\myBoxOpts}{boxed,boxsize=Large,align=l} +\end{Verbatim} +then in the exam, type +\begin{Verbatim}[xleftmargin=\amtIndent] +$\frac{\sqrt{-18}}{\sqrt{6}}=\fillin[\myBoxOpts]{1.5in}{3\imath}$ +\end{Verbatim} + +% dps Need to revise this section, I've changed how \fillin works. + +\paragraph*{\cs{fillin} boxed.} When the \texttt{boxed} key is used, +the \cs{boxed} command of \texttt{amsmath} is used; This command needs to +be in math mode. If the \texttt{boxed} key is used and the \cs{fillin} +command is in math mode, then \cs{fillin} puts the \meta{answer} and +\texttt{boxpretext} in math mode too; if \cs{fillin} command \emph{not in +math mode} (i.e., it is in text mode), \cs{fillin} typesets the +\meta{answer} and \texttt{boxpretext} in text mode. For example, +\begin{Verbatim}[xleftmargin=\amtIndent] +Let $ x = 4 $ and $ y = -3 $ and let $ z = 2x - 4y $ then + $\fillin[boxed,align=l,boxpretext={z=}]{1in}{20}$ +\end{Verbatim} +When \texttt{answerkey} is used, the above question appears as +\begin{quote} +Let $ x = 4 $ and $ y = -3 $ and let $ z = 2x - 4y $ then + \fbox{\makebox[1in][l]{$ z=20 $ }} +\end{quote} +Here is an example in text mode +\begin{Verbatim}[xleftmargin=\amtIndent] +The first president of the US is + \fillin[boxed,align=c]{1.5in}{Washington} +\end{Verbatim} +When \texttt{answerkey} is used, the above question appears as +\begin{quote} +The first president of the US is + \fbox{\makebox[1.5in][c]{Washington}} +\end{quote} +Here is an example of mixed mode +\begin{Verbatim}[xleftmargin=\amtIndent] +The width of a rectangle is 20 feet and length is 15 feet. +Find the area: $\fillin[boxed,align=l, + boxpretext={\text{Area: }}]{1in}{300\,\text{feet}}$ +\end{Verbatim} +The answer is typeset in math mode, but the value of \texttt{boxpretext} +needs to be typeset in text mode. When \texttt{answerkey} is used, the +above question appears as +\begin{quote} +The width of a rectangle is 20 feet and length is 15 feet. +Find the area: \fbox{\makebox[1in][l]{Area: $300\,\text{feet}$}} +\end{quote} + +\paragraph*{\cs{fillin} not boxed.} The \cs{fillin} command will typeset +the answer in math mode if \cs{fillin} is in math mode, and in text mode, +otherwise. For example, each of the following typesets the same. +\begin{Verbatim}[xleftmargin=\amtIndent] +The area of a circle of radius $2$ is \fillin[u]{.5in}{$4\pi$} +The area of a circle of radius $2$ is $\fillin[u]{.5in}{4\pi}$ +\end{Verbatim} + +\subsubsection{\texorpdfstring{\protect\cs{fillineol}}{\CMD{fillineol}}: Fill-in to end-of-line} + +The \cs{fillineol} is a variant of \cs{fillin}, its main feature is that the +width parameter of the \cs{fillin} command is automatically calculated to the +end of the line. +\settowidth{\aebdimen}{\small\ttfamily\string + \fillineol*\darg{\ameta{phrase}}[\ameta{fillin-opts}]\darg{\ameta{answer}}}% +\begin{dCmd}[commandchars=!(),fontsize=\small]{\aebdimen+2\fboxsep+2\fboxrule} +\fillineol*{!ameta(phrase)}[!ameta(fillin-opts)]{!ameta(answer)} +\end{dCmd} +\fillineol{Calculus originator, Isaac }[boxed,align=l,boxsize=Large]{Newton} +\begin{Verbatim}[fontsize=\small] +\fillineol{Calculus originator, Isaac }[boxed,align=l,boxsize=Large]{Newton} +\end{Verbatim} +The star-option allows \ameta{phrase} to contain verbatim text; in this case, +the \textsf{collectbox} package is required. + +The \cs{fillineol} command takes the \ameta{phrase}, measures its width, and +uses the result as the value of \ameta{width} in the \cs{fillin} command. +Usually, the \ameta{phrase} occurs at the beginning of the sentence. However, +that is not always convenient. + +For this next example, the fill-in occurs at the end of the sentence, which +wraps around to the next line. Enter the name of your professor for the +course you are cur\-\fillineol{rently taking, his name is }{Dr.\ D. P. Story} + +\exAeBBlogPDF{p=1356} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1356}{fillineol.pdf}}, found on the {\AcroTeX} Blog website. + + +\subsection{Vertical Space Fill Types}\label{ss:VSFT} + +When the \texttt{nosolutions} or the \texttt{vspacewithsolns} is used, a +vertical space is generated by the \texttt{solution} environment. Previously, +this has just been a vertical white space, now, we provide the ability to +fill the space with horizontal rules of different types.\footnote{The filler +line feature has been rewritten and extended from previous versions of +\pkg{eqexam}.} + +%\redpoint The demo file for these features is \texttt{hw03.tex}. + +\exAeBBlogPDF{p=1222} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1222}{hw03.pdf}} + + +\newtopic There are two sets of commands. +\settowidth{\aebdimen}{\ttfamily\string\useFillerDefault} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\useFillerLines +\useFillerDefault +\end{dCmd} +\noindent The first command sets the code to draw rule lines in the +vertical white space, the second command reverts back to the default, +plain vertical white space. + +\begin{comment} +\newtopic The next set of commands determine the type of line to be drawn +in the white space. +\settowidth{\aebdimen}{\ttfamily\string\fillTypeDashLine} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\fillTypeHRule +\fillTypeDashLine +\fillTypeDots +\fillTypeDefault +\end{dCmd} +\noindent The rule types are in the order listed: draw solid horizontal lines; draw +dashed lines; draw dotted lines; draw the default line type (\cs{fillTypeHRule)}. + +\newtopic These two command determine color of the lines, and the spacing between lines. +\settowidth{\aebdimen}{\ttfamily\string\eqWriteLineColor\darg{\meta{named\_color}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\eqWriteLineColor{!meta(named_color)} +\eqWLSpacing{!meta(length)} +\end{dCmd} +\noindent The default color is \texttt{gray} and the default vertical +spacing between lines is +\texttt{14pt}. +\end{comment} + +The \cs{setFillLinesFmt} command is used to set the design parameters +of filler lines. +\settowidth{\aebdimen}{\ttfamily\string\setFillLinesFmt\darg{\meta{KV-pairs}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\setFillLinesFmt{!meta(KV-pairs)} +\end{dCmd} +There is an extensive list of key-value pairs. + +\begin{comment} +%The default values are shown in parentheses above. +%The \cs{eqWLSpacing} command sets the length register \Com[, length\ipkg{eqexam}|textbf]{wlVspace} +%to its argument \meta{vskip}; \cs{wlVspace} is the vertical space between lines. +% +%The \cs{eqWriteLineColor} command passes a color to the fill lines. +% +%Properties of fill lines are set through key-value pairs of the command +%\cs{fillLinesNumFmt}; the properties are not local, but continue to be +%applied until they are explicitly changed. The properties are, +%\bVerb\columnseprule0pt\columnsep0pt +\end{comment} + +\newtopic\noindent +\textbf{Key-value pairs of \cs{setFillLinesFmt}.} These key-values +document-wide scope \emph{if not declared within a group}. + +\begin{description} +\item[\texttt{fltype=\ameta{\upshape{line|dash|dots|blank|grid}}}] When the + value of \texttt{fltype} is different from \texttt{grid}, the key + determines the type of horizontal line drawn (including a + ``blank'' line); when \texttt{fltype=grid}, the type of line drawn is + determined by \texttt{gridtype}, described below. The default + is \texttt{line}. + + When \texttt{fltype=grid} and neither \texttt{bgonly} nor + \texttt{outlineonly} are specified, a grid is drawn consisting of + horizontal and vertical lines. The thickness of the lines drawn is + determined by the length. The + default is \cs{setlength\darg{\string\flfboxrule}\darg{.4pt}}. Any dotted + line is unaffected by the value of \cs{flfboxrule}. +\end{description} +The rest of the keys are listed in alphabetical order. The \texttt{fltype} key +is separated out due to its importance. +\begin{description} + +%\item[\texttt{fontfamily=\anglemeta{family}}{\sIndexttKey[\ipkg{web}|textbf]{fontfamily}}] +% Font family to use for section titles, permitted values are +% \texttt{rmfamily}, \texttt{sffamily}, \texttt{ttfamily}. + +\item [\texttt{align=\ameta{\upshape{default|left}}}] This key sets the + horizontal alignment of the filler lines; a key-value of + \texttt{align=default} is the natural way of aligning the filler lines, + while \texttt{align=left} shifts the lines to the left margin. The + default is \texttt{default}, \texttt{align} is equivalent to + \texttt{align=default}. + +% Refer to the paragraph \textbf{\nhnameref{para:fl-align}} on +% page~\pageref{para:fl-align} and Example~\ref{exmpl:aligntypes} that +% follows it. + +\item [\texttt{bgcolor=\ameta{named\_color}}] The color of the background, + when \texttt{bgonly} is in effect. + +\item [\texttt{bgonly*=\ameta{\upshape{true|false}}}] When the key is set to + true, \pkg{eqexam} colors the targeted region with the color determined + by the \texttt{bgcolor} key. This key\FmtMP{\texttt{fltype=grid} + required} is \emph{ignored} unless \texttt{fltype=grid}. + + If \texttt{bgonly[=true]} is declared, \texttt{bgonly=false} must be + declared later to turn off this effect, as \pkg{eqexam} cannot determine + the intention. If the star-form is used (\texttt{bgonly*[=true]}), + \texttt{bgonly} is automatically set to false after the next region is + drawn. + Use the \texttt{bgonly} key to create backgrounds for several consecutive + regions. Use the \texttt{bgonly*} form of the key for a single region. +% See Problem~1\,(g) of Example~\ref{exmpl:fillertypes}. + +% for example, \setFillLinesFmt{fltype=grid,bgonly} then later we say +% \setFillLinesFmt{fltype=grid,gridtype=dash}, do we continue with bgonly, +% or switch over to a true grid? + +\item [\texttt{equalcells=\ameta{\upshape{true|false}}}] This key is only + effective when \texttt{fltype=grid}, but the keys \texttt{bgonly} and + \texttt{outlineonly} are both false. When the key \texttt{equalcells} (or + the key-value \texttt{equalcells=true}) is specified, grid cells of equal + width are drawn; the total width of a row may not be equal to the + \cs{linewidth}, however. The key is initially set to \texttt{false}. + +% An example of the default (cells not necessarily equal) is found in +% problem 1\,(\ref{item:gridtype}) on page~\pageref{item:gridtype}. + + The command versions of this key may also be expanded explicitly; these are + \Com[\ipkg{eqexam}|textbf]{equalCellSizesOn} and + \Com[\ipkg{eqexam}|textbf]{equalCellSizesOff}. + +\item [\texttt{color=\ameta{named\_color}}] The value of the \texttt{color} + key sets the color to be used when drawing filler lines (both horizontal + and vertical). + +\item [\texttt{gridtype=\ameta{\upshape{line|dash|dots}}}] The value of + the key \texttt{gridtype} determines the line type when + \texttt{fltype=grid}, otherwise, the value of this key is ignored. Values + of \texttt{line} and \texttt{dash} obey the value of \cs{flfboxrule}. + +\item [\texttt{linegap=\ameta{dimen}}] The ``gap'' between two horizontal or + vertical lines; the \texttt{linegap} key sets the length register \Com[, + length\ipkg{eqexam}|textbf]{wlVspace}\FmtMP{the gap is \cs{wlVspace}} to + \ameta{dimen}. This key executes the command + \Com[\ipkg{eqexam}|textbf]{eqWLSpacing}\texttt{\darg{\ameta{dimen}}}. The + default is 14pt. + +\item [\texttt{numbers=\ameta{\upshape{none|left|right}}}] The + \texttt{numbers} key controls whether the lines are numbered and their + relative position to the line; the default is not to number the lines (\texttt{numbers=none}). + +\item [\texttt{numbersep=\ameta{dimen}}] The value of \texttt{numbersep} sets + the separation between the line and the number, the default is 2pt. + +\item [\texttt{numfmt=\ameta{num-fmt}}] This key-value pair formats the line + numbers. Within the value \ameta{num-fmt}, the macro \cs{flnum} refers + to the number itself; for example,\[ + \texttt{numfmt=\string\textcolor\darg{red}\darg{\string\flnum}}\] + produces red line numbers. The initial declaration for + this key is \texttt{numfmt=\cs{flnum}}, which creates a black line + number. + + The font size\FmtMP{font size of the numbers} of the line numbers is + \cs{tiny}, but this can be overwritten by incorporating a size into the + \texttt{numfmt} (\texttt{numfmt=\string\small\string\flnum}). + +%\promoteNewPage[2\baselineskip] + +\item [\texttt{outlineonly*=\ameta{\upshape{true|false}}}]\label{item:outlineonly} If this key is + true\FmtMP{\texttt{fltype=grid} required}, an outline of the region is drawn using line type determined by + \texttt{gridtype}. This key is \emph{ignored} unless + \texttt{fltype=grid}. + + If \texttt{outlineonly[=true]} is declared, \texttt{outlineonly=false} + must be declared later to turn off this effect, as \pkg{eqexam} cannot + determine the intention. If the star-form is used + (\texttt{outlineonly*}), \texttt{outlineonly} is automatically set + to false after the next region is drawn. Use the \texttt{outlineonly} key + to create backgrounds for several consecutive regions. Use the + \texttt{outlineonly*} form of the key for a single region. + +% See Problem +% 1\,(f) of Example~\ref{exmpl:fillertypes} for an illustration of this feature. + +\item [\texttt{topline=\ameta{\upshape{true|false}}}] If true, \pkg{eqexam} + draws an extra horizontal line above the topmost line. Any vertical lines + are extended to meet this additional line. + +% See Problem 1\,(b) of Example~\ref{exmpl:fillertypes}. +\end{description} + +\begingroup + +%\writeToSolnFile{^^J\protect\iffalse^^J}% + + +\useFillerLines +\turnflnosolnsOn +\turnContAnnotOn +\setFillLinesFmt{fltype=line,numbers=left} + +\noindent +The following is an example of filler lines under the \env{nosolutions} assumption. +\separationruleOff +\chngToNoSolns +%\solutionsonlytrue +\RecordThisExamOff +\begin{exam}[Filler Lines 1]{fl1} +\begin{problem} +Expound on all you know on the subject. +%\priorworkareaCmds{\baselineskip\wlVspace} +\begin{priorworkarea}\baselineskip\wlVspace +When the \opt{flextended} option is not in force, these three lines are blank. However, in this example, +\opt{flextended} is active, and I can write to these lines. Refer to `\nameref{sss:flxtnd}' below. +\end{priorworkarea} +\begin{solution}[42pt] +Your guess is as good as mine. +\end{solution} +\end{problem} + +\turnflnosolnsOff +\setFillLinesFmt{fltype=grid,gridtype=line,numbers=right,topline,color=lightgray} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} +\begin{solution}[\sameVspace] +Your guess is as good as mine. +\end{solution} +\belowexskip{0pt} +\end{problem} +%\belowsqskip{\vskip0pt} +\end{exam} +\noindent +The verbatim listing of this example is presented and discussed in the next section. + +%\writeToSolnFile{\protect\fi^^J}% +\endgroup \therearesolutionsfalse % do not record this as a solution at the end + +\subsubsection{On the \texttt{flextended} option}\label{sss:flxtnd} + +The \texttt{flextended} option brings in code that extends filler lines. It +defines one new environment \env{priorworkarea}, and several commands. One +significant enhancement is the ability to write to the lined regions in the +\opt{nosolutions}\FmtMP{\opt{nosolutions}}, \opt{vspacewithsolns}\FmtMP{\opt{vspacewith\-solns}}, and +\env{answerkey} options are in effect. + +The contents of the \env{priorworkarea} environment will be superimposed on the filler lines +when the \opt{nosolution} or \opt{vspacewithsolns} option is in effect. It is placed prior to +the \env{solution} environment. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\begin{priorworkarea} +!quad!ameta(content) +\end{priorworkarea} +\begin{solution}[!meta(vspace)] +!quad!ameta(solution) +\end{solution} +\end{Verbatim} +For the \ameta{content} to be superimposed on the vertical space specified by +the optional parameter \meta{vspace} of the \env{solution} environment, +\cs{useFillerLines} must be in force and \cs{turnflnosolnsOn} must be +expanded prior to the statement of the problem. (Turn off the writing to the +vertical space with \cs{turnflnosolnsOff}). +The verbatim listing of the example above, which does use the +\opt{flextended} option as well as the \env{priorworkarea} +environment is presented below. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\begin{exam}{fl1}\chngToNoSolns + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea}\baselineskip\wlVspace +When the \texttt{flextended} option is not in force, these three +lines are blank. However, in this example, \textsf{flextended} is +active, and I can write to these lines. Refer to ... +\end{priorworkarea} + +\begin{solution}[nLines=3] +Your guess is as good as mine. ... +\end{solution} +\end{problem} + +\turnflnosolnsOff +\setFillLinesFmt{fltype=grid,gridtype=line, + numbers=right,topline,color=lightgray} +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} + +\begin{solution}[nLines=3] +Your guess is as good as mine. +\end{solution} +\end{problem} +\end{exam} +\end{Verbatim} + +%\vspace{3\wlVspace} + +For the \opt{answerkey} option\FmtMP{\opt{answerkey}}, content of the +\env{solution} environment is written to the vertical space allotted by is +optional parameter, \meta{vspace}. As with \env{priorworkarea} there is a +gatekeeper command \cs{turnflanskeyOn}. For the content to be written to the +vertical space, \cs{userFillerLines} and \cs{turnflanskeyOn} must be +expanded. To turn off writing to the vertical space, expand +\cs{turnflanskeyOff}. + +\newtopic\noindent +The last example is repeated, but under the assumption of the \opt{answerkey} option. + +\useFillerLines +\turnflanskeyOn +\turnContAnnotOn +\DoNotFitItIn +\acvspace{2\wlVspace} + +\fvsizeskip{.1} +\noExamTitleInSolns +\begin{exam}[Filler Lines 2]{fl2}\AnswerKey +\flPageBreakMsg{\textbf{Problem~{\eqeCurrProb} continues on next page\strut}}% + +\begin{problem} +Expound on all you know on the subject. +%\priorworkareaCmds{\baselineskip\wlVspace} +\begin{priorworkarea}\baselineskip\wlVspace +When the \opt{flextended} option is not in force, these three lines are blank. However, in this example, +\opt{flextended} is active, and I can write to these lines. Refer to `\nameref{sss:flxtnd}' below. +\end{priorworkarea} +\solutionafterExCmds{\baselineskip\wlVspace + \parindent\wlVspace}%\tweakBreakPoint{5pt} +\begin{solution}[nLines=10] %\baselineskip\wlVspace\parindent\wlVspace +Your guess is as good as mine. The content has the capability of breaking across pages. + +I've added more lines because this problem has a chance breaking across a page boundary. +Let's prattle on until we go to the next page.\vspace{2\baselineskip} + +We'll jump down a couple of lines cause I don't have much to say. Gotta keep +going to get to the next page. If all works as it should, I'll see you one +the other side! Perfect! As mentioned in the `\nameref{sss:BAP}' below. There +are limitations to this wonder. +\end{solution} +\end{problem} + +\turnflnosolnsOff +\setFillLinesFmt{fltype=grid,gridtype=line,numbers=right,topline,color=lightgray} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} +\begin{solution}[42pt] +Your guess is as good as mine. +\end{solution} +\end{problem} +All in all, this is very cool. +\belowsqskip{\vskip0pt} +\end{exam} + + +\subsubsection{Breaking across pages}\label{sss:BAP} +When the vertical space of the \env{solution} environment is filled with +filler lines (assuming \cs{useFillerLines} is in force), \emph{the lines and the +content can break across pages}, provided the content is not within a box. It +has limited capabilities of breaking across columns (for +\texttt{fltype=line|dash|dots}), but when the \opt{flextended} option is in +effect, may fail dramatically at superimposing the content over the filler +lines. + +When \cs{turnContAnnotOn} is expanded prior to the problem, should the fill +lines break across a page boundary, the annotation string +(\Com[\ipkg{eqexam}]{annotContStr}) appears at the top of the next page. The +topic of annotating solutions is taken up again in the next section. + +\subsubsection{Annotating a continuing problem with +\texorpdfstring{\cs{useFillerLines}}{\CMD{\useFillerLines}}}\label{para:cnwithFL} + +When the command \Com[\ipkg{eqexam}]{useFillerLines} is expanded, any vertical +space declared with the optional argument of \env{solution} is created one +line at a time. Just before each of the lines is drawn, two commands are +expanded, the first just prior to the a page break, if one occurs, and the +second just after the page break, if one occurs. The second command is the internal +version of \Com[\ipkg{eqexam}]{insertContAnnot}, the first command is accessed through +the command \cs{priorPageBreakMsg}. +\settowidth{\aebdimen}{\ttfamily\string\priorPageBreakMsg\darg{\meta{msg}}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\priorPageBreakMsg{!meta(msg)} +\flPageBreakMsg{!meta(msg)} +\end{dCmd} +The \cs{priorPageBreakMsg} command allows you to insert \meta{msg} at the +beginning of each line, but does not determine whether a page break is near. +The \cs{flPageBreakMsg} command, which uses both \cs{priorPageBreakMsg} and +\Com[\ipkg{eqexam}]{emitMessageNearBottom}, is the appropriate vehicle for +writing \meta{msg} just prior to a page break. Its definition is found next. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\newcommand{\flPageBreakMsg}[1]{% + \priorPageBreakMsg{\emitMessageNearBottom[\iacvspace] + {\eqfititin{{\Large\strut}#1}}}} +\end{Verbatim} +The command may be redefined for your needs. Notice that the star-option of +the command \cs{emitMessageNearBottom} \emph{is not taken}, so the command does not +create a new page if near the bottom, but it does create a message +(\texttt{\#1}). The optional argument of \cs{emitMessageNearBottom} is set to +\texttt{\cs{iacvspace}}, this is the interpretation of `near the bottom' of +the page. A recommended value for \cs{iavspace} is \texttt{2\cs{wlVspace}} +(\cs{acvspace\darg{2\cs{wlVspace}}}). A typical declaration might be, +\begin{Verbatim}[xleftmargin=15pt,fontsize=\small,commandchars=!()] +% Set \iacvspace for \insertContAnnot and \emitMessageNearBottom +\acvspace{2\wlVspace} %!sffamily(<-- the recommended value) +\flPageBreakMsg{\textbf{Problem~{\eqeCurrProb}!lp(\thepartno)!rp\space + continues on next page}} +\end{Verbatim} +At the top of the next page the \cs{annotContStr} string appears as well. + +\subsection{Keep vertical space with \texttt{answerkey}} + +One thing that has bothered me in my efforts to create the ``perfect'' +exam package, is the differences in vertical spacing between the exam the +student sees (which is compiled with the \texttt{nosolutions} option), and +the solutions document the instructor sees (as compiled with the +\texttt{answerkey} option). The differences in vertical space of the two +documents makes it harder for the eye to move from the student's exam to +the answer key document and back again. In the past, I've used +\cs{aNewPage} or \cs{qNewPage} to force page breaks so that the page +breaks of the two document match, this makes it easier to get one page at +a time. + + +Below is a simple example to illustrate the above points. In the example below, +we simulate +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{solution}[1in] +$ x+1 = 4 \implies x = 3 $ +\end{solution} +\end{Verbatim} +\begin{flushleft} +\setlength{\fboxsep}{0pt} +\begin{tabular}{@{\hskip\leftmargini}cc} +\texttt{nosolutions} & \texttt{answerkey}\\ +\fbox{\parbox[t][1in]{.4\linewidth}{\strut\kern0pt\vfill\hfill}}& +\fbox{\parbox[t]{.4\linewidth}{\strut\textit{Solution:} $ x+1 = 4 \implies x = 3 $}}\\ +\end{tabular} +\end{flushleft} +We have put an \cs{fbox} around the vertical space so you can see the +bottom of the vertical space, and better appreciate the point I am trying +to make. When \texttt{nosolutions} is in effect, a vertical space of 1 +inch is created; when the \texttt{answerkey} is used, the vertical spacing +is ignored, and the solution is typeset, as shown above. Notice the +difference in the vertical spacing between the two. + +The \textsf{eqexam} package now attempts to build the solution environment +so the vertical spacing is (roughly) the same. +\settowidth{\aebdimen}{\ttfamily\string\vspacewithkeyOff} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\vspacewithkeyOn +\vspacewithkeyOff +\end{dCmd} +\noindent The first command turns on this new feature---the feature of trying to +place the vertical spacing in the \texttt{answerkey} mode as requested by +the optional argument of the \texttt{solution} environment. The second +one, \cs{vspacewithkeyOff} (the default) turns off this new feature, and +reverts to the old behavior of \textsf{eqexam}. + +Here is a representation of the effects of the command \cs{vspacewithkeyOn}. + +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{solution}[1in] +$ x+1 = 4 \implies x = 3 $ +\end{solution} +\end{Verbatim} +\begin{flushleft} +\setlength{\fboxsep}{0pt} +\begin{tabular}{@{\hskip\leftmargini}cc} +\texttt{nosolutions} & \texttt{answerkey}\\ +\fbox{\parbox[t][1in]{.4\linewidth}{\strut\kern0pt\vfill\hfill}}& +\fbox{\parbox[t][1in]{.4\linewidth}{\strut\textit{Solution:} $ x+1 = 4 \implies x = 3 $\hfill\vfill}}\\ +\end{tabular} +\end{flushleft} +As you can see, the vertical spacing with solutions is the same as +without, the page breaks should be the same, and the positioning of the problems should be +(roughly) the same throughout the test. + +\newtopic The commands \cs{vspacewithkeyOn} and \cs{vspacewithkeyOff} may +be used anywhere (between problems or parts), but normally, one would put +\cs{vspacewithkeyOn} in the preamble. + +\subsection{Annotating a Continuing Problem with Parts} + +% http://www.acrotex.net/blog/?p=698 +% Annotating a Continuing Problem with Parts, and Page totals +The demonstration file for this feature is +\begin{equation*} +\textsl{\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=698}{Annotating a +Continuing Problem with Parts, and Page totals}}} +\end{equation*} +found at the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} Blog}} + +\newtopic A situation often encountered is when a problem with parts crosses a page +boundary; the problem continues on the next page without any annotation. +This feature works to insert a text string at the top of the next page, a +string that gives the reader (student) the context of the part. + +\medskip\noindent +\begin{minipage}{\linewidth} +\begin{minipage}[t]{.5\linewidth-5pt} +\emph{(Page 2)}\\ +\textbf{4.} Solve each of the following. +\begin{enumerate} +\item[(a)] Solve this +\item[(b)] Solve this +\end{enumerate} +\end{minipage}\hfil\vrule\hfill +\begin{minipage}[t]{.5\linewidth-10pt} +\emph{(Page 3)}\\ +\textbf{Problem~4 continued.} +\begin{enumerate} +\item[(c)] Solve this +\item[(d)] Solve this +\end{enumerate} +\end{minipage} +\end{minipage} +\newtopic Above is an illustration of how this feature works. + +%the default string is \textbf{Problem \texttt{<num>} continued.} + +\settowidth{\aebdimen}{\ttfamily\string\turnContAnnotOff} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\turnContAnnotOff +\turnContAnnotOn +\end{dCmd} +\noindent The feature may be turned off and on using the above two commands. These +commands are usually in the preamble, but they can appear between problems +or between \texttt{exam} environments. + +\newtopic The annotatation text that appears is determined by the definition of +\cs{annotContStr}. +\begingroup\obeyspaces% +\settowidth{\aebdimen}{\ttfamily \string\textbf\darg{Problem\string~\string\eqeCurrProb\string\space continued.}\}}% +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\newcommand{\annotContStr}{% + \textbf{Problem~\eqeCurrProb\space continued.}} +\end{dCmd} +\endgroup\noindent where \cs{eqeCurrProb} is the current problem number. +\cs{annotContStr} may be redefined, but be sure to include the problem +number \cs{eqeCurrProb}. + +The insertion of the continuation annotation uses the \cs{promoteNewPage} command, see +Section~\ref{aqpNewPage} on page~\pageref{aqpNewPage} for a description of this command. + +\settowidth{\aebdimen}{\ttfamily\string\newcommand\darg{\string\ic@vspacedefault}\darg{1in}} +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\acvspace{!meta(vspace)} +\resetacvspace +\newcommand{\ic@vspacedefault}{1in} +\end{dCmd} +\noindent The above three lines describes some commands for controlling the +generation of a new page through the use of \cs{promoteNewPage}. The first +one \cs{acvspace} defines the value of the length +\cs{iacvspace}\FmtMP{\cs{iacvspace}}, which is used to set the option +parameter of \cs{promoteNewPage}. The default value for promoting a new page +is \texttt{1in}, as defined by \cs{ic@vspacedefault}, which can be +redefined. The command \cs{resetacvspace} resets the optional argument of +\cs{promoteNewPage} back to its default. All definitions are local, so the +revert to their original values when a group is exited. + +\paragraph*{Automatic annotation.}\label{para:autoAnnot}\leavevmode +\index{annotating a continuing problem!automatic}% +Just prior to an \cs{item} within a \env{parts} environment\FmtMP{for items +in a \env{parts} env.}, the command \Com[\ipkg{eqexam}]{promoteNewPage} is +expanded with optional argument of \cs{iacvspace} in this case. This command +calculates the amount of space remaining on the page, if it is less than +\cs{iacvspace}, a \cs{newpage} is emitted and \cs{annotContStr} is typeset at +the top of the next page. As a result of this algorithm, if there is more +space than \cs{iacvspace}, but a page break occurs by the {\TeX} page +breaking algorithm, the continuation string does not +appear.\footnote{Remember, after each \cs{item} a \env{solution} environment +may request vertical space for the student to do his work.} If you don't get +the continuation annotation at the page break, change \cs{iacvspace} +(possibly to a smaller value) through its \cs{acvspace} interface command. + +When the \Com[\ipkg{eqexam}]{useFillerLines} command is used, there are +additional automatic automation commands, refer to the paragraph +\textbf{\nhnameref{para:cnwithFL}} on page~\pageref{para:cnwithFL}. + +\paragraph*{Manual annotation.}\label{para:manAnnot}\leavevmode +\index{annotating a continuing problem!automatic}% +There are two commands for manually inserting +annotations into the document. +\settowidth{\aebdimen}{\ttfamily\string\emitMessageNearBottom*[\meta{vspace}]\darg{\meta{msg}}}% +\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} +\insertContAnnot[!meta(vspace)] +\emitMessageNearBottom*[!meta(vspace)]{!meta(msg)} +\end{dCmd} +For both commands, the default value for the optional argument \meta{vspace} +is \cs{iacvspace}. Both commands start with a \cs{par}, meaning they must be +in vertical mode to work, so they should not be used within a paragraph. Each +command determines the amount of space left (\meta{spaceleft}) on the page. + +For \cs{insertContAnnot}, if $\meta{spaceleft} < \meta{vspace}$, a +\cs{newpage} command is expanded and the continuation string +\cs{annotContStr} is inserted at the top of the next page; otherwise, it does +nothing. + +The action of \cs{emitMessageNearBottom} is similar but it \emph{does not +insert} start a new page (\cs{newpage}) unless the star-option (\texttt*) is +specified. If $\meta{spaceleft} < \meta{vspace}$, then \meta{msg} is typeset +(at the bottom of the page). If the star-option is specified, a \cs{newpage} +is invoked and \cs{annotContStr} is typeset at the top of the next page. + +\subsection{The Exam Record}\label{examrecord} + +% http://www.acrotex.net/blog/?p=703 +% The Exam Record on the Cover Page + +The demonstration file for this feature is +\begin{equation*} +\textsl{\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=703}{The Exam Record on the Cover Page}}} +\end{equation*} +found at the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} Blog}} + + +\newtopic When choose the \texttt{coverpage} option and the \texttt{coverpagesumry} option is set to either +\texttt{byparts} or \texttt{bypages}, you get an \textbf{Exam Record} appearing on the cover page. +See Figure~\ref{fig:ExamRecord}, page~\pageref{fig:ExamRecord}. + +There are several commands that can be used to customize the layout of the \textbf{Exam Record} +\begin{Verbatim}[xleftmargin=\amtIndent,numbers=left] +\eqeSumryHoriz +\eqeSumryVert +\end{Verbatim} +These two commands arrange the \textbf{Exam Record} +relative to the student/instructor information. The former is a horizontal +arrangement, the latter is a vertical arrangement, \cs{eqeSumryVert} is the default. + +\newtopic Below are several text commands for customizing the text in the \textbf{Exam Record} +box: +\begin{Verbatim}[xleftmargin=\amtIndent,numbers=left] +\newcommand{\cpSumryHeader}{\textbf{Exam Record}} +\newcommand{\cpSumryPts}{\,\text{pts}} +\newcommand{\cpSumryPage}{Page} +\newcommand{\cpSumryTotal}{Total:} +\newcommand{\cpSumryGrade}{Grade:} +\cpSetSumryWidth{.5\linewidth} +\end{Verbatim} +The meanings of numbers~(1)--(5) are apparent from Figure~\ref{fig:ExamRecord}, page~\pageref{fig:ExamRecord}, +where these strings are on display. Number~(6) determines the width of the \textbf{Exam Record}, its default +is half the \cs{linewidth}. + +\newtopic The \textbf{Exam Record} by default is enclosed in an \cs{fbox}, use the command +\cs{cpNofbox} in the preamble to remove this enclosing box. + +\newtopic\textbf{Naming conventions for \texttt{byparts}.} When +\texttt{coverpagesumry=byparts}, there are several naming options +available. The default name of each part is the exam name (the required +argument of the \texttt{exam} environment. By specifying +\cs{useUIPartNames} in the preamble, the user friendly name is used (the +one that appears as the optional first argument of the \texttt{exam} +environment. The user friendly names are used when the solutions are +listed in the back of the document (for example, when the option +\texttt{vspacewithsolns} is specified). These user-friendly names may be too wide +to put in the \textbf{Exam Record}, in this case, you can executed +\cs{useCustomPartNames} in the preamble. This allows you to define your own names +that are to appear in the \textbf{Exam Record}. To define your custom names, use +the \cs{customNaming} command: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=+\(\)] +\customNaming{+meta(name)}{+meta(text)} +\end{Verbatim} +where, \meta{name} is the name of the exam, and \meta{text} is the text to appear +in the \textbf{Exam Record}. For example, the following definitions might be made +for a two part final exam, the first part the instructor is free to pose questions, +the second part are Department supplied questions. +\begin{Verbatim}[xleftmargin=\amtIndent] +\customNaming{Part1}{Instr Qs:} +\customNaming{Part2}{Dept Qs:} +\end{Verbatim} + +\subsection{Calculate problem range between two markers} + +I have defined the command In response to a user who wanted more +information about problem ranges between two marks, the command +\cs{calcQsBtwnMarkers} is the proposed solution. The syntax is\dots +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=+\(\)] +\calcQsBtwnMarkers[+meta(Mrk2)]{+meta(Mrk1)} +\end{Verbatim} +The required parameter (\meta{Mrk1}) is called the \emph{primary mark}. +The command defines a number of other commands based on the primary +mark name. \cs{calcQsBtwnMarkers} calculates the first and +last problem numbers of the questions between the command +\cs{calcQsBtwnMarkers} that has \meta{Mrk1} as its \emph{primary marker} and +another command \cs{calcQsBtwnMarkers} that has \meta{Mrk2} as its \emph{primary +marker}. The names of the commands produced are all based in the primary +marker name \meta{Mrk1}. + +\newtopic As mentioned above, there are several other commands +\cs{calcQsBtwnMarkers} defines. +\cs{calcQsBtwnMarkers[\meta{Mrk2}]}\verb!{!\meta{Mrk1}\verb!}! defines the +following commands: +\begin{itemize} + +\item \cs{\meta{Mrk1}Start} is the first question number that follows the placement +of the command \cs{calcQsBtwnMarkers} with \meta{Mrk1} as its primary marker. + +\item \cs{\meta{Mrk1}End} is the last question number between two +\cs{calcQsBtwnMarkers} commands having \meta{Mrk1} and \meta{Mrk2} as their +primary marks. + +\item \cs{\meta{Mrk1}nQs} is the number of questions appearing +between \cs{calcQsBtwnMarkers} commands having primary marks of +\meta{Mrk1} and \meta{Mrk2}. +\end{itemize} +Three other commands are defined for easy user access. +\begin{itemize} +\item \cs{markStartFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}Start}. +\item \cs{markEndFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}End}. +\item \cs{markNumQsFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}nQs}. +\end{itemize} +Use the command \cs{calcQsBtwnMarkers} without the optional first argument as the last mark +in your \texttt{exam} environment. + +%\handpoint The demo file for this feature is named \texttt{markqs.tex}. + +\exAeBBlogPDF{p=1231} The demo file for this feature is named +\texttt{\href{\urlAcroTeXBlog/?p=1231}{markqs.pdf}} + +\newpage +\markright{References} + +\begin{thebibliography}{[1]}\label{references} +\addcontentsline{toc}{section}{\protect\numberline{}References} +\backrefparscanfalse +\def\srtln{\vskip-\baselineskip\vskip-\parsep} +\def\lngln{\vskip-\parsep} + +\bibitem{book:AEBB} + D. P. Story, \textsl{\AEBBook}, in preparation. \backrefprint + +\end{thebibliography} + + +\end{document} diff --git a/texmf-dist/doc/latex/eqexam/examples/fig1.eps b/texmf-dist/doc/latex/eqexam/examples/fig1.eps Binary files differindex d40a7d65..9ea1b0cb 100644 --- a/texmf-dist/doc/latex/eqexam/examples/fig1.eps +++ b/texmf-dist/doc/latex/eqexam/examples/fig1.eps diff --git a/texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf Binary files differnew file mode 100644 index 00000000..1a5f1cab --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.pdf diff --git a/texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex new file mode 100644 index 00000000..23bf670a --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/examples/flextended-opt.tex @@ -0,0 +1,106 @@ +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage[pdf,forcolorpaper,nopoints,useforms, +% Try compiling this file under one of these options: + nosolutions, +% answerkey, +% vspacewithsolns, + flextended +]{eqexam}[2018/01/12] + +\subject[Essay]{Extending Fill Lines} +\title[HW]{Essay HW} +\author{Dr.\ D. P. Story} +\date{Spring 2018} +\duedate{03/07/2018} +\keywords{Homework due \theduedate} + +\forceNoColor +\DoNotFitItIn +\useFillerLines +\vspacewithkeyOn +\turnflnosolnsOn +\turnflanskeyOn +\turnContAnnotOn +\setFillLinesFmt{fltype=line,numbers=left} + +\solAtEndFormatting{\eqequesitemsep{3pt}} + +\let\opt\texttt +\let\env\texttt + +% these commands pass their arguments to the priorworkarea and solution +% environments, respectively. +\priorworkareaCmds{\baselineskip\wlVspace\parindent\wlVspace} +\solutionafterExCmds{\baselineskip\wlVspace + \parindent\wlVspace} + +\begin{document} + +\maketitle + +\begin{exam}{fl1} + +\begin{instructions}[] +Respond to each problem, use your best effort. Turn in your essays by the end of the day. +\end{instructions} + +\flPageBreakMsg{\textbf{Problem~{\eqeCurrProb} continues on next page\strut}}% + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +When the \opt{flextended} option is not in force, these three lines are blank. However, in this example, +\opt{flextended} is active, and I can write to these lines. +\end{priorworkarea} +\begin{solution}[nLines=3] +Your guess is as good as mine. +\end{solution} +\end{problem} + +\setFillLinesFmt{fltype=grid,gridtype=line,numbers=right,topline,color=lightgray} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +Essay area. +\end{priorworkarea} +\begin{solution}[42pt] +Your guess is as good as mine. +\end{solution} +\end{problem} + +\vspace{2.1in} +\smash{\makebox[\linewidth][c]{\parbox{.5\linewidth}{\bfseries\slshape + This space left blank so the next problem can break across the page.}}} +\vspace{2.1in} + +\begin{problem} +Expound on all you know on the subject. +\begin{priorworkarea} +When the \opt{flextended} option is not in force, these three lines are +blank. However, in this example, \opt{flextended} is active, and I can write +to these lines. + +The contents of the \env{priorworkarea} environment can also break across a +page boundary. We'll try to make it so.\vspace{2\baselineskip} + +Are we on the next page? I think yes. +\end{priorworkarea} +\begin{solution}[nLines=10] +Your guess is as good as mine. The content has the capability of breaking across pages. + +I've added more lines because this problem has a chance breaking across a page boundary. +Let's prattle on until we go to the next page.\vspace{\baselineskip} + +We'll jump down a couple of lines cause I don't have much to say. Gotta keep +going to get to the next page. If all works as it should, I'll see you one +the other side! Perfect! \vspace{3\baselineskip} + +\noindent +All in all, this is very cool.\enspace dps +\end{solution} +\end{problem} +\end{exam} + +\end{document} diff --git a/texmf-dist/doc/latex/eqexam/examples/graph.eps b/texmf-dist/doc/latex/eqexam/examples/graph.eps index 240e89ef..bf1e4599 100644 --- a/texmf-dist/doc/latex/eqexam/examples/graph.eps +++ b/texmf-dist/doc/latex/eqexam/examples/graph.eps @@ -1,7977 +1,7977 @@ -%!PS-Adobe-3.1 EPSF-3.0
-%ADO_DSC_Encoding: Windows Roman
-%%Title: graph.pdf
-%%Creator: Adobe Acrobat 10.0.1
-%%For: D. P. Story
-%%CreationDate: 4/8/2011, 3:22:12 PM
-%%BoundingBox: -1 0 257 195
-%%HiResBoundingBox: 0 0 256.7930 194.9510
-%%CropBox: 0 0 256.7930 194.9510
-%%LanguageLevel: 2
-%%DocumentNeededResources: (atend)
-%%DocumentSuppliedResources: (atend)
-%%DocumentNeededFeatures: (atend)
-%%DocumentSuppliedFeatures: (atend)
-%%DocumentData: Clean7Bit
-%%Pages: (atend)
-%%DocumentProcessColors: Black
-%%DocumentCustomColors: (atend)
-%%EndComments
-%%BeginDefaults
-%%ViewingOrientation: 1 0 0 1
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset Adobe_AGM_Utils 1.0 0
-%%Version: 1.0 0
-%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved.
-systemdict/setpacking known
-{currentpacking true setpacking}if
-userdict/Adobe_AGM_Utils 75 dict dup begin put
-/bdf
-{bind def}bind def
-/nd{null def}bdf
-/xdf
-{exch def}bdf
-/ldf
-{load def}bdf
-/ddf
-{put}bdf
-/xddf
-{3 -1 roll put}bdf
-/xpt
-{exch put}bdf
-/ndf
-{
- exch dup where{
- pop pop pop
- }{
- xdf
- }ifelse
-}def
-/cdndf
-{
- exch dup currentdict exch known{
- pop pop
- }{
- exch def
- }ifelse
-}def
-/gx
-{get exec}bdf
-/ps_level
- /languagelevel where{
- pop systemdict/languagelevel gx
- }{
- 1
- }ifelse
-def
-/level2
- ps_level 2 ge
-def
-/level3
- ps_level 3 ge
-def
-/ps_version
- {version cvr}stopped{-1}if
-def
-/set_gvm
-{currentglobal exch setglobal}bdf
-/reset_gvm
-{setglobal}bdf
-/makereadonlyarray
-{
- /packedarray where{pop packedarray
- }{
- array astore readonly}ifelse
-}bdf
-/map_reserved_ink_name
-{
- dup type/stringtype eq{
- dup/Red eq{
- pop(_Red_)
- }{
- dup/Green eq{
- pop(_Green_)
- }{
- dup/Blue eq{
- pop(_Blue_)
- }{
- dup()cvn eq{
- pop(Process)
- }if
- }ifelse
- }ifelse
- }ifelse
- }if
-}bdf
-/AGMUTIL_GSTATE 22 dict def
-/get_gstate
-{
- AGMUTIL_GSTATE begin
- /AGMUTIL_GSTATE_clr_spc currentcolorspace def
- /AGMUTIL_GSTATE_clr_indx 0 def
- /AGMUTIL_GSTATE_clr_comps 12 array def
- mark currentcolor counttomark
- {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put
- /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop
- /AGMUTIL_GSTATE_fnt rootfont def
- /AGMUTIL_GSTATE_lw currentlinewidth def
- /AGMUTIL_GSTATE_lc currentlinecap def
- /AGMUTIL_GSTATE_lj currentlinejoin def
- /AGMUTIL_GSTATE_ml currentmiterlimit def
- currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf
- /AGMUTIL_GSTATE_sa currentstrokeadjust def
- /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def
- /AGMUTIL_GSTATE_op currentoverprint def
- /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def
- /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def
- currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf
- cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf
- /AGMUTIL_GSTATE_ht currenthalftone def
- /AGMUTIL_GSTATE_flt currentflat def
- end
-}def
-/set_gstate
-{
- AGMUTIL_GSTATE begin
- AGMUTIL_GSTATE_clr_spc setcolorspace
- AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get
- /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor
- AGMUTIL_GSTATE_fnt setfont
- AGMUTIL_GSTATE_lw setlinewidth
- AGMUTIL_GSTATE_lc setlinecap
- AGMUTIL_GSTATE_lj setlinejoin
- AGMUTIL_GSTATE_ml setmiterlimit
- AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash
- AGMUTIL_GSTATE_sa setstrokeadjust
- AGMUTIL_GSTATE_clr_rnd setcolorrendering
- AGMUTIL_GSTATE_op setoverprint
- AGMUTIL_GSTATE_bg cvx setblackgeneration
- AGMUTIL_GSTATE_ucr cvx setundercolorremoval
- AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx
- AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer
- AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or
- {
- currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne
- {
- mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark
- }if
- }{
- AGMUTIL_GSTATE_ht sethalftone
- }ifelse
- AGMUTIL_GSTATE_flt setflat
- end
-}def
-/get_gstate_and_matrix
-{
- AGMUTIL_GSTATE begin
- /AGMUTIL_GSTATE_ctm matrix currentmatrix def
- end
- get_gstate
-}def
-/set_gstate_and_matrix
-{
- set_gstate
- AGMUTIL_GSTATE begin
- AGMUTIL_GSTATE_ctm setmatrix
- end
-}def
-/AGMUTIL_str256 256 string def
-/AGMUTIL_src256 256 string def
-/AGMUTIL_dst64 64 string def
-/AGMUTIL_srcLen nd
-/AGMUTIL_ndx nd
-/AGMUTIL_cpd nd
-/capture_cpd{
- //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf
-}def
-/thold_halftone
-{
- level3
- {sethalftone currenthalftone}
- {
- dup/HalftoneType get 3 eq
- {
- sethalftone currenthalftone
- }{
- begin
- Width Height mul{
- Thresholds read{pop}if
- }repeat
- end
- currenthalftone
- }ifelse
- }ifelse
-}def
-/rdcmntline
-{
- currentfile AGMUTIL_str256 readline pop
- (%)anchorsearch{pop}if
-}bdf
-/filter_cmyk
-{
- dup type/filetype ne{
- exch()/SubFileDecode filter
- }{
- exch pop
- }
- ifelse
- [
- exch
- {
- AGMUTIL_src256 readstring pop
- dup length/AGMUTIL_srcLen exch def
- /AGMUTIL_ndx 0 def
- AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{
- 1 index exch get
- AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put
- /AGMUTIL_ndx AGMUTIL_ndx 1 add def
- }for
- pop
- AGMUTIL_dst64 0 AGMUTIL_ndx getinterval
- }
- bind
- /exec cvx
- ]cvx
-}bdf
-/filter_indexed_devn
-{
- cvi Names length mul names_index add Lookup exch get
-}bdf
-/filter_devn
-{
- 4 dict begin
- /srcStr xdf
- /dstStr xdf
- dup type/filetype ne{
- 0()/SubFileDecode filter
- }if
- [
- exch
- [
- /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx
- currentdict/srcStr get/readstring cvx/pop cvx
- /dup cvx/length cvx 0/gt cvx[
- Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx
- names_index Names length currentdict/srcStr get length 1 sub{
- 1/index cvx/exch cvx/get cvx
- currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx
- Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx
- }for
- currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx
- ]cvx/if cvx
- /end cvx
- ]cvx
- bind
- /exec cvx
- ]cvx
- end
-}bdf
-/AGMUTIL_imagefile nd
-/read_image_file
-{
- AGMUTIL_imagefile 0 setfileposition
- 10 dict begin
- /imageDict xdf
- /imbufLen Width BitsPerComponent mul 7 add 8 idiv def
- /imbufIdx 0 def
- /origDataSource imageDict/DataSource get def
- /origMultipleDataSources imageDict/MultipleDataSources get def
- /origDecode imageDict/Decode get def
- /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def
- imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse
- {
- /imbufCnt imageDict/DataSource get length def
- /imbufs imbufCnt array def
- 0 1 imbufCnt 1 sub{
- /imbufIdx xdf
- imbufs imbufIdx imbufLen string put
- imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put
- }for
- DeviceN_PS2{
- imageDict begin
- /DataSource[DataSource/devn_sep_datasource cvx]cvx def
- /MultipleDataSources false def
- /Decode[0 1]def
- end
- }if
- }{
- /imbuf imbufLen string def
- Indexed_DeviceN level3 not and DeviceN_NoneName or{
- /srcDataStrs[imageDict begin
- currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse
- {
- Width Decode length 2 div mul cvi string
- }repeat
- end]def
- imageDict begin
- /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def
- /Decode[0 1]def
- end
- }{
- imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put
- imageDict/Decode[0 1]put
- }ifelse
- }ifelse
- imageDict exch
- load exec
- imageDict/DataSource origDataSource put
- imageDict/MultipleDataSources origMultipleDataSources put
- imageDict/Decode origDecode put
- end
-}bdf
-/write_image_file
-{
- begin
- {(AGMUTIL_imagefile)(w+)file}stopped{
- false
- }{
- Adobe_AGM_Utils/AGMUTIL_imagefile xddf
- 2 dict begin
- /imbufLen Width BitsPerComponent mul 7 add 8 idiv def
- MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{
- /imbuf imbufLen string def
- }if
- 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{
- pop
- MultipleDataSources{
- 0 1 DataSource length 1 sub{
- DataSource type dup
- /arraytype eq{
- pop DataSource exch gx
- }{
- /filetype eq{
- DataSource exch get imbuf readstring pop
- }{
- DataSource exch get
- }ifelse
- }ifelse
- AGMUTIL_imagefile exch writestring
- }for
- }{
- DataSource type dup
- /arraytype eq{
- pop DataSource exec
- }{
- /filetype eq{
- DataSource imbuf readstring pop
- }{
- DataSource
- }ifelse
- }ifelse
- AGMUTIL_imagefile exch writestring
- }ifelse
- }for
- end
- true
- }ifelse
- end
-}bdf
-/close_image_file
-{
- AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile
-}def
-statusdict/product known userdict/AGMP_current_show known not and{
- /pstr statusdict/product get def
- pstr(HP LaserJet 2200)eq
- pstr(HP LaserJet 4000 Series)eq or
- pstr(HP LaserJet 4050 Series )eq or
- pstr(HP LaserJet 8000 Series)eq or
- pstr(HP LaserJet 8100 Series)eq or
- pstr(HP LaserJet 8150 Series)eq or
- pstr(HP LaserJet 5000 Series)eq or
- pstr(HP LaserJet 5100 Series)eq or
- pstr(HP Color LaserJet 4500)eq or
- pstr(HP Color LaserJet 4600)eq or
- pstr(HP LaserJet 5Si)eq or
- pstr(HP LaserJet 1200 Series)eq or
- pstr(HP LaserJet 1300 Series)eq or
- pstr(HP LaserJet 4100 Series)eq or
- {
- userdict/AGMP_current_show/show load put
- userdict/show{
- currentcolorspace 0 get
- /Pattern eq
- {false charpath f}
- {AGMP_current_show}ifelse
- }put
- }if
- currentdict/pstr undef
-}if
-/consumeimagedata
-{
- begin
- AGMIMG_init_common
- currentdict/MultipleDataSources known not
- {/MultipleDataSources false def}if
- MultipleDataSources
- {
- DataSource 0 get type
- dup/filetype eq
- {
- 1 dict begin
- /flushbuffer Width cvi string def
- 1 1 Height cvi
- {
- pop
- 0 1 DataSource length 1 sub
- {
- DataSource exch get
- flushbuffer readstring pop pop
- }for
- }for
- end
- }if
- dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and
- {
- Width Height mul cvi
- {
- 0 1 DataSource length 1 sub
- {dup DataSource exch gx length exch 0 ne{pop}if}for
- dup 0 eq
- {pop exit}if
- sub dup 0 le
- {exit}if
- }loop
- pop
- }if
- }
- {
- /DataSource load type
- dup/filetype eq
- {
- 1 dict begin
- /flushbuffer Width Decode length 2 idiv mul cvi string def
- 1 1 Height{pop DataSource flushbuffer readstring pop pop}for
- end
- }if
- dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and
- {
- Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul
- {
- DataSource length dup 0 eq
- {pop exit}if
- sub dup 0 le
- {exit}if
- }loop
- pop
- }if
- }ifelse
- end
-}bdf
-/addprocs
-{
- 2{/exec load}repeat
- 3 1 roll
- [5 1 roll]bind cvx
-}def
-/modify_halftone_xfer
-{
- currenthalftone dup length dict copy begin
- currentdict 2 index known{
- 1 index load dup length dict copy begin
- currentdict/TransferFunction known{
- /TransferFunction load
- }{
- currenttransfer
- }ifelse
- addprocs/TransferFunction xdf
- currentdict end def
- currentdict end sethalftone
- }{
- currentdict/TransferFunction known{
- /TransferFunction load
- }{
- currenttransfer
- }ifelse
- addprocs/TransferFunction xdf
- currentdict end sethalftone
- pop
- }ifelse
-}def
-/clonearray
-{
- dup xcheck exch
- dup length array exch
- Adobe_AGM_Core/AGMCORE_tmp -1 ddf
- {
- Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf
- dup type/dicttype eq
- {
- Adobe_AGM_Core/AGMCORE_tmp get
- exch
- clonedict
- Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf
- }if
- dup type/arraytype eq
- {
- Adobe_AGM_Core/AGMCORE_tmp get exch
- clonearray
- Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf
- }if
- exch dup
- Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put
- }forall
- exch{cvx}if
-}bdf
-/clonedict
-{
- dup length dict
- begin
- {
- dup type/dicttype eq
- {clonedict}if
- dup type/arraytype eq
- {clonearray}if
- def
- }forall
- currentdict
- end
-}bdf
-/DeviceN_PS2
-{
- /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and
-}bdf
-/Indexed_DeviceN
-{
- /indexed_colorspace_dict AGMCORE_gget dup null ne{
- dup/CSDBase known{
- /CSDBase get/CSD get_res/Names known
- }{
- pop false
- }ifelse
- }{
- pop false
- }ifelse
-}bdf
-/DeviceN_NoneName
-{
- /Names where{
- pop
- false Names
- {
- (None)eq or
- }forall
- }{
- false
- }ifelse
-}bdf
-/DeviceN_PS2_inRip_seps
-{
- /AGMCORE_in_rip_sep where
- {
- pop dup type dup/arraytype eq exch/packedarraytype eq or
- {
- dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and
- {
- /currentcolorspace exch AGMCORE_gput
- false
- }{
- true
- }ifelse
- }{
- true
- }ifelse
- }{
- true
- }ifelse
-}bdf
-/base_colorspace_type
-{
- dup type/arraytype eq{0 get}if
-}bdf
-/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse
-{
- /pdfmark_5{cleartomark}bind def
-}{
- /pdfmark_5{pdfmark}bind def
-}ifelse
-/ReadBypdfmark_5
-{
- currentfile exch 0 exch/SubFileDecode filter
- /currentdistillerparams where
- {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse
- {flushfile cleartomark}
- {/PUT pdfmark}ifelse
-}bdf
-/ReadBypdfmark_5_string
-{
- 2 dict begin
- /makerString exch def string/tmpString exch def
- {
- currentfile tmpString readline not{pop exit}if
- makerString anchorsearch
- {
- pop pop cleartomark exit
- }{
- 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5
- }ifelse
- }loop
- end
-}bdf
-/xpdfm
-{
- {
- dup 0 get/Label eq
- {
- aload length[exch 1 add 1 roll/PAGELABEL
- }{
- aload pop
- [{ThisPage}<<5 -2 roll>>/PUT
- }ifelse
- pdfmark_5
- }forall
-}bdf
-/lmt{
- dup 2 index le{exch}if pop dup 2 index ge{exch}if pop
-}bdf
-/int{
- dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop
-}bdf
-/ds{
- Adobe_AGM_Utils begin
-}bdf
-/dt{
- currentdict Adobe_AGM_Utils eq{
- end
- }if
-}bdf
-systemdict/setpacking known
-{setpacking}if
-%%EndResource
-%%BeginResource: procset Adobe_AGM_Core 2.0 0
-%%Version: 2.0 0
-%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved.
-systemdict/setpacking known
-{
- currentpacking
- true setpacking
-}if
-userdict/Adobe_AGM_Core 209 dict dup begin put
-/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def
-/AGMCORE_str256 256 string def
-/AGMCORE_save nd
-/AGMCORE_graphicsave nd
-/AGMCORE_c 0 def
-/AGMCORE_m 0 def
-/AGMCORE_y 0 def
-/AGMCORE_k 0 def
-/AGMCORE_cmykbuf 4 array def
-/AGMCORE_screen[currentscreen]cvx def
-/AGMCORE_tmp 0 def
-/AGMCORE_&setgray nd
-/AGMCORE_&setcolor nd
-/AGMCORE_&setcolorspace nd
-/AGMCORE_&setcmykcolor nd
-/AGMCORE_cyan_plate nd
-/AGMCORE_magenta_plate nd
-/AGMCORE_yellow_plate nd
-/AGMCORE_black_plate nd
-/AGMCORE_plate_ndx nd
-/AGMCORE_get_ink_data nd
-/AGMCORE_is_cmyk_sep nd
-/AGMCORE_host_sep nd
-/AGMCORE_avoid_L2_sep_space nd
-/AGMCORE_distilling nd
-/AGMCORE_composite_job nd
-/AGMCORE_producing_seps nd
-/AGMCORE_ps_level -1 def
-/AGMCORE_ps_version -1 def
-/AGMCORE_environ_ok nd
-/AGMCORE_CSD_cache 0 dict def
-/AGMCORE_currentoverprint false def
-/AGMCORE_deltaX nd
-/AGMCORE_deltaY nd
-/AGMCORE_name nd
-/AGMCORE_sep_special nd
-/AGMCORE_err_strings 4 dict def
-/AGMCORE_cur_err nd
-/AGMCORE_current_spot_alias false def
-/AGMCORE_inverting false def
-/AGMCORE_feature_dictCount nd
-/AGMCORE_feature_opCount nd
-/AGMCORE_feature_ctm nd
-/AGMCORE_ConvertToProcess false def
-/AGMCORE_Default_CTM matrix def
-/AGMCORE_Default_PageSize nd
-/AGMCORE_Default_flatness nd
-/AGMCORE_currentbg nd
-/AGMCORE_currentucr nd
-/AGMCORE_pattern_paint_type 0 def
-/knockout_unitsq nd
-currentglobal true setglobal
-[/CSA/Gradient/Procedure]
-{
- /Generic/Category findresource dup length dict copy/Category defineresource pop
-}forall
-setglobal
-/AGMCORE_key_known
-{
- where{
- /Adobe_AGM_Core_Id known
- }{
- false
- }ifelse
-}ndf
-/flushinput
-{
- save
- 2 dict begin
- /CompareBuffer 3 -1 roll def
- /readbuffer 256 string def
- mark
- {
- currentfile readbuffer{readline}stopped
- {cleartomark mark}
- {
- not
- {pop exit}
- if
- CompareBuffer eq
- {exit}
- if
- }ifelse
- }loop
- cleartomark
- end
- restore
-}bdf
-/getspotfunction
-{
- AGMCORE_screen exch pop exch pop
- dup type/dicttype eq{
- dup/HalftoneType get 1 eq{
- /SpotFunction get
- }{
- dup/HalftoneType get 2 eq{
- /GraySpotFunction get
- }{
- pop
- {
- abs exch abs 2 copy add 1 gt{
- 1 sub dup mul exch 1 sub dup mul add 1 sub
- }{
- dup mul exch dup mul add 1 exch sub
- }ifelse
- }bind
- }ifelse
- }ifelse
- }if
-}def
-/np
-{newpath}bdf
-/clp_npth
-{clip np}def
-/eoclp_npth
-{eoclip np}def
-/npth_clp
-{np clip}def
-/graphic_setup
-{
- /AGMCORE_graphicsave save store
- concat
- 0 setgray
- 0 setlinecap
- 0 setlinejoin
- 1 setlinewidth
- []0 setdash
- 10 setmiterlimit
- np
- false setoverprint
- false setstrokeadjust
- //Adobe_AGM_Core/spot_alias gx
- /Adobe_AGM_Image where{
- pop
- Adobe_AGM_Image/spot_alias 2 copy known{
- gx
- }{
- pop pop
- }ifelse
- }if
- /sep_colorspace_dict null AGMCORE_gput
- 100 dict begin
- /dictstackcount countdictstack def
- /showpage{}def
- mark
-}def
-/graphic_cleanup
-{
- cleartomark
- dictstackcount 1 countdictstack 1 sub{end}for
- end
- AGMCORE_graphicsave restore
-}def
-/compose_error_msg
-{
- grestoreall initgraphics
- /Helvetica findfont 10 scalefont setfont
- /AGMCORE_deltaY 100 def
- /AGMCORE_deltaX 310 def
- clippath pathbbox np pop pop 36 add exch 36 add exch moveto
- 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto
- 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath
- 0 AGMCORE_&setgray
- gsave 1 AGMCORE_&setgray fill grestore
- 1 setlinewidth gsave stroke grestore
- currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto
- /AGMCORE_deltaY 12 def
- /AGMCORE_tmp 0 def
- AGMCORE_err_strings exch get
- {
- dup 32 eq
- {
- pop
- AGMCORE_str256 0 AGMCORE_tmp getinterval
- stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt
- {
- currentpoint AGMCORE_deltaY sub exch pop
- clippath pathbbox pop pop pop 44 add exch moveto
- }if
- AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show
- 0 1 AGMCORE_str256 length 1 sub
- {
- AGMCORE_str256 exch 0 put
- }for
- /AGMCORE_tmp 0 def
- }{
- AGMCORE_str256 exch AGMCORE_tmp xpt
- /AGMCORE_tmp AGMCORE_tmp 1 add def
- }ifelse
- }forall
-}bdf
-/AGMCORE_CMYKDeviceNColorspaces[
- [/Separation/None/DeviceCMYK{0 0 0}]
- [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind]
- [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind]
- [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind]
- [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind]
- [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind]
- [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind]
- [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind]
- [/Separation(Cyan)/DeviceCMYK{0 0 0}]
- [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind]
- [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind]
- [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind]
- [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}]
- [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind]
- [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}]
- [/DeviceCMYK]
-]def
-/ds{
- Adobe_AGM_Core begin
- /currentdistillerparams where
- {
- pop currentdistillerparams/CoreDistVersion get 5000 lt
- {<</DetectBlends false>>setdistillerparams}if
- }if
- /AGMCORE_ps_version xdf
- /AGMCORE_ps_level xdf
- errordict/AGM_handleerror known not{
- errordict/AGM_handleerror errordict/handleerror get put
- errordict/handleerror{
- Adobe_AGM_Core begin
- $error/newerror get AGMCORE_cur_err null ne and{
- $error/newerror false put
- AGMCORE_cur_err compose_error_msg
- }if
- $error/newerror true put
- end
- errordict/AGM_handleerror get exec
- }bind put
- }if
- /AGMCORE_environ_ok
- ps_level AGMCORE_ps_level ge
- ps_version AGMCORE_ps_version ge and
- AGMCORE_ps_level -1 eq or
- def
- AGMCORE_environ_ok not
- {/AGMCORE_cur_err/AGMCORE_bad_environ def}if
- /AGMCORE_&setgray systemdict/setgray get def
- level2{
- /AGMCORE_&setcolor systemdict/setcolor get def
- /AGMCORE_&setcolorspace systemdict/setcolorspace get def
- }if
- /AGMCORE_currentbg currentblackgeneration def
- /AGMCORE_currentucr currentundercolorremoval def
- /AGMCORE_Default_flatness currentflat def
- /AGMCORE_distilling
- /product where{
- pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and
- }{
- false
- }ifelse
- def
- /AGMCORE_GSTATE AGMCORE_key_known not{
- /AGMCORE_GSTATE 21 dict def
- /AGMCORE_tmpmatrix matrix def
- /AGMCORE_gstack 32 array def
- /AGMCORE_gstackptr 0 def
- /AGMCORE_gstacksaveptr 0 def
- /AGMCORE_gstackframekeys 14 def
- /AGMCORE_&gsave/gsave ldf
- /AGMCORE_&grestore/grestore ldf
- /AGMCORE_&grestoreall/grestoreall ldf
- /AGMCORE_&save/save ldf
- /AGMCORE_&setoverprint/setoverprint ldf
- /AGMCORE_gdictcopy{
- begin
- {def}forall
- end
- }def
- /AGMCORE_gput{
- AGMCORE_gstack AGMCORE_gstackptr get
- 3 1 roll
- put
- }def
- /AGMCORE_gget{
- AGMCORE_gstack AGMCORE_gstackptr get
- exch
- get
- }def
- /gsave{
- AGMCORE_&gsave
- AGMCORE_gstack AGMCORE_gstackptr get
- AGMCORE_gstackptr 1 add
- dup 32 ge{limitcheck}if
- /AGMCORE_gstackptr exch store
- AGMCORE_gstack AGMCORE_gstackptr get
- AGMCORE_gdictcopy
- }def
- /grestore{
- AGMCORE_&grestore
- AGMCORE_gstackptr 1 sub
- dup AGMCORE_gstacksaveptr lt{1 add}if
- dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known
- {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse
- /AGMCORE_gstackptr exch store
- }def
- /grestoreall{
- AGMCORE_&grestoreall
- /AGMCORE_gstackptr AGMCORE_gstacksaveptr store
- }def
- /save{
- AGMCORE_&save
- AGMCORE_gstack AGMCORE_gstackptr get
- AGMCORE_gstackptr 1 add
- dup 32 ge{limitcheck}if
- /AGMCORE_gstackptr exch store
- /AGMCORE_gstacksaveptr AGMCORE_gstackptr store
- AGMCORE_gstack AGMCORE_gstackptr get
- AGMCORE_gdictcopy
- }def
- /setoverprint{
- dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint
- }def
- 0 1 AGMCORE_gstack length 1 sub{
- AGMCORE_gstack exch AGMCORE_gstackframekeys dict put
- }for
- }if
- level3/AGMCORE_&sysshfill AGMCORE_key_known not and
- {
- /AGMCORE_&sysshfill systemdict/shfill get def
- /AGMCORE_&sysmakepattern systemdict/makepattern get def
- /AGMCORE_&usrmakepattern/makepattern load def
- }if
- /currentcmykcolor[0 0 0 0]AGMCORE_gput
- /currentstrokeadjust false AGMCORE_gput
- /currentcolorspace[/DeviceGray]AGMCORE_gput
- /sep_tint 0 AGMCORE_gput
- /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput
- /sep_colorspace_dict null AGMCORE_gput
- /devicen_colorspace_dict null AGMCORE_gput
- /indexed_colorspace_dict null AGMCORE_gput
- /currentcolor_intent()AGMCORE_gput
- /customcolor_tint 1 AGMCORE_gput
- /absolute_colorimetric_crd null AGMCORE_gput
- /relative_colorimetric_crd null AGMCORE_gput
- /saturation_crd null AGMCORE_gput
- /perceptual_crd null AGMCORE_gput
- currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf
- cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf
- <<
- /MaxPatternItem currentsystemparams/MaxPatternCache get
- >>
- setuserparams
- end
-}def
-/ps
-{
- /setcmykcolor where{
- pop
- Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put
- }if
- Adobe_AGM_Core begin
- /setcmykcolor
- {
- 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput
- 1 sub 4 1 roll
- 3{
- 3 index add neg dup 0 lt{
- pop 0
- }if
- 3 1 roll
- }repeat
- setrgbcolor pop
- }ndf
- /currentcmykcolor
- {
- /currentcmykcolor AGMCORE_gget aload pop
- }ndf
- /setoverprint
- {pop}ndf
- /currentoverprint
- {false}ndf
- /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def
- /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def
- /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def
- /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def
- /AGMCORE_plate_ndx
- AGMCORE_cyan_plate{
- 0
- }{
- AGMCORE_magenta_plate{
- 1
- }{
- AGMCORE_yellow_plate{
- 2
- }{
- AGMCORE_black_plate{
- 3
- }{
- 4
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- def
- /AGMCORE_have_reported_unsupported_color_space false def
- /AGMCORE_report_unsupported_color_space
- {
- AGMCORE_have_reported_unsupported_color_space false eq
- {
- (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)==
- Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf
- }if
- }def
- /AGMCORE_composite_job
- AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def
- /AGMCORE_in_rip_sep
- /AGMCORE_in_rip_sep where{
- pop AGMCORE_in_rip_sep
- }{
- AGMCORE_distilling
- {
- false
- }{
- userdict/Adobe_AGM_OnHost_Seps known{
- false
- }{
- level2{
- currentpagedevice/Separations 2 copy known{
- get
- }{
- pop pop false
- }ifelse
- }{
- false
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- def
- /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def
- /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def
- /AGM_preserve_spots
- /AGM_preserve_spots where{
- pop AGM_preserve_spots
- }{
- AGMCORE_distilling AGMCORE_producing_seps or
- }ifelse
- def
- /AGM_is_distiller_preserving_spotimages
- {
- currentdistillerparams/PreserveOverprintSettings known
- {
- currentdistillerparams/PreserveOverprintSettings get
- {
- currentdistillerparams/ColorConversionStrategy known
- {
- currentdistillerparams/ColorConversionStrategy get
- /sRGB ne
- }{
- true
- }ifelse
- }{
- false
- }ifelse
- }{
- false
- }ifelse
- }def
- /convert_spot_to_process where{pop}{
- /convert_spot_to_process
- {
- //Adobe_AGM_Core begin
- dup map_alias{
- /Name get exch pop
- }if
- dup dup(None)eq exch(All)eq or
- {
- pop false
- }{
- AGMCORE_host_sep
- {
- gsave
- 1 0 0 0 setcmykcolor currentgray 1 exch sub
- 0 1 0 0 setcmykcolor currentgray 1 exch sub
- 0 0 1 0 setcmykcolor currentgray 1 exch sub
- 0 0 0 1 setcmykcolor currentgray 1 exch sub
- add add add 0 eq
- {
- pop false
- }{
- false setoverprint
- current_spot_alias false set_spot_alias
- 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor
- set_spot_alias
- currentgray 1 ne
- }ifelse
- grestore
- }{
- AGMCORE_distilling
- {
- pop AGM_is_distiller_preserving_spotimages not
- }{
- //Adobe_AGM_Core/AGMCORE_name xddf
- false
- //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq
- AGMUTIL_cpd/OverrideSeparations known and
- {
- AGMUTIL_cpd/OverrideSeparations get
- {
- /HqnSpots/ProcSet resourcestatus
- {
- pop pop pop true
- }if
- }if
- }if
- {
- AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not
- }{
- gsave
- [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace
- false
- AGMUTIL_cpd/SeparationColorNames 2 copy known
- {
- get
- {AGMCORE_name eq or}forall
- not
- }{
- pop pop pop true
- }ifelse
- grestore
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- end
- }def
- }ifelse
- /convert_to_process where{pop}{
- /convert_to_process
- {
- dup length 0 eq
- {
- pop false
- }{
- AGMCORE_host_sep
- {
- dup true exch
- {
- dup(Cyan)eq exch
- dup(Magenta)eq 3 -1 roll or exch
- dup(Yellow)eq 3 -1 roll or exch
- dup(Black)eq 3 -1 roll or
- {pop}
- {convert_spot_to_process and}ifelse
- }
- forall
- {
- true exch
- {
- dup(Cyan)eq exch
- dup(Magenta)eq 3 -1 roll or exch
- dup(Yellow)eq 3 -1 roll or exch
- (Black)eq or and
- }forall
- not
- }{pop false}ifelse
- }{
- false exch
- {
- /PhotoshopDuotoneList where{pop false}{true}ifelse
- {
- dup(Cyan)eq exch
- dup(Magenta)eq 3 -1 roll or exch
- dup(Yellow)eq 3 -1 roll or exch
- dup(Black)eq 3 -1 roll or
- {pop}
- {convert_spot_to_process or}ifelse
- }
- {
- convert_spot_to_process or
- }
- ifelse
- }
- forall
- }ifelse
- }ifelse
- }def
- }ifelse
- /AGMCORE_avoid_L2_sep_space
- version cvr 2012 lt
- level2 and
- AGMCORE_producing_seps not and
- def
- /AGMCORE_is_cmyk_sep
- AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or
- def
- /AGM_avoid_0_cmyk where{
- pop AGM_avoid_0_cmyk
- }{
- AGM_preserve_spots
- userdict/Adobe_AGM_OnHost_Seps known
- userdict/Adobe_AGM_InRip_Seps known or
- not and
- }ifelse
- {
- /setcmykcolor[
- {
- 4 copy add add add 0 eq currentoverprint and{
- pop 0.0005
- }if
- }/exec cvx
- /AGMCORE_&setcmykcolor load dup type/operatortype ne{
- /exec cvx
- }if
- ]cvx def
- }if
- /AGMCORE_IsSeparationAProcessColor
- {
- dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or
- }def
- AGMCORE_host_sep{
- /setcolortransfer
- {
- AGMCORE_cyan_plate{
- pop pop pop
- }{
- AGMCORE_magenta_plate{
- 4 3 roll pop pop pop
- }{
- AGMCORE_yellow_plate{
- 4 2 roll pop pop pop
- }{
- 4 1 roll pop pop pop
- }ifelse
- }ifelse
- }ifelse
- settransfer
- }
- def
- /AGMCORE_get_ink_data
- AGMCORE_cyan_plate{
- {pop pop pop}
- }{
- AGMCORE_magenta_plate{
- {4 3 roll pop pop pop}
- }{
- AGMCORE_yellow_plate{
- {4 2 roll pop pop pop}
- }{
- {4 1 roll pop pop pop}
- }ifelse
- }ifelse
- }ifelse
- def
- /AGMCORE_RemoveProcessColorNames
- {
- 1 dict begin
- /filtername
- {
- dup/Cyan eq 1 index(Cyan)eq or
- {pop(_cyan_)}if
- dup/Magenta eq 1 index(Magenta)eq or
- {pop(_magenta_)}if
- dup/Yellow eq 1 index(Yellow)eq or
- {pop(_yellow_)}if
- dup/Black eq 1 index(Black)eq or
- {pop(_black_)}if
- }def
- dup type/arraytype eq
- {[exch{filtername}forall]}
- {filtername}ifelse
- end
- }def
- level3{
- /AGMCORE_IsCurrentColor
- {
- dup AGMCORE_IsSeparationAProcessColor
- {
- AGMCORE_plate_ndx 0 eq
- {dup(Cyan)eq exch/Cyan eq or}if
- AGMCORE_plate_ndx 1 eq
- {dup(Magenta)eq exch/Magenta eq or}if
- AGMCORE_plate_ndx 2 eq
- {dup(Yellow)eq exch/Yellow eq or}if
- AGMCORE_plate_ndx 3 eq
- {dup(Black)eq exch/Black eq or}if
- AGMCORE_plate_ndx 4 eq
- {pop false}if
- }{
- gsave
- false setoverprint
- current_spot_alias false set_spot_alias
- 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor
- set_spot_alias
- currentgray 1 ne
- grestore
- }ifelse
- }def
- /AGMCORE_filter_functiondatasource
- {
- 5 dict begin
- /data_in xdf
- data_in type/stringtype eq
- {
- /ncomp xdf
- /comp xdf
- /string_out data_in length ncomp idiv string def
- 0 ncomp data_in length 1 sub
- {
- string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put
- }for
- string_out
- }{
- string/string_in xdf
- /string_out 1 string def
- /component xdf
- [
- data_in string_in/readstring cvx
- [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx
- [/pop cvx()]cvx/ifelse cvx
- ]cvx/ReusableStreamDecode filter
- }ifelse
- end
- }def
- /AGMCORE_separateShadingFunction
- {
- 2 dict begin
- /paint? xdf
- /channel xdf
- dup type/dicttype eq
- {
- begin
- FunctionType 0 eq
- {
- /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def
- currentdict/Decode known
- {/Decode Decode channel 2 mul 2 getinterval def}if
- paint? not
- {/Decode[1 1]def}if
- }if
- FunctionType 2 eq
- {
- paint?
- {
- /C0[C0 channel get 1 exch sub]def
- /C1[C1 channel get 1 exch sub]def
- }{
- /C0[1]def
- /C1[1]def
- }ifelse
- }if
- FunctionType 3 eq
- {
- /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def
- }if
- currentdict/Range known
- {/Range[0 1]def}if
- currentdict
- end}{
- channel get 0 paint? AGMCORE_separateShadingFunction
- }ifelse
- end
- }def
- /AGMCORE_separateShading
- {
- 3 -1 roll begin
- currentdict/Function known
- {
- currentdict/Background known
- {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if
- Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf
- /ColorSpace[/DeviceGray]def
- }{
- ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq
- {
- /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def
- }{
- ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put
- }ifelse
- ColorSpace 0 get/Separation eq
- {
- {
- [1/exch cvx/sub cvx]cvx
- }{
- [/pop cvx 1]cvx
- }ifelse
- ColorSpace 3 3 -1 roll put
- pop
- }{
- {
- [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx
- }{
- pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx
- }ifelse
- ColorSpace 3 3 -1 roll bind put
- }ifelse
- ColorSpace 2/DeviceGray put
- }ifelse
- end
- }def
- /AGMCORE_separateShadingDict
- {
- dup/ColorSpace get
- dup type/arraytype ne
- {[exch]}if
- dup 0 get/DeviceCMYK eq
- {
- exch begin
- currentdict
- AGMCORE_cyan_plate
- {0 true}if
- AGMCORE_magenta_plate
- {1 true}if
- AGMCORE_yellow_plate
- {2 true}if
- AGMCORE_black_plate
- {3 true}if
- AGMCORE_plate_ndx 4 eq
- {0 false}if
- dup not currentoverprint and
- {/AGMCORE_ignoreshade true def}if
- AGMCORE_separateShading
- currentdict
- end exch
- }if
- dup 0 get/Separation eq
- {
- exch begin
- ColorSpace 1 get dup/None ne exch/All ne and
- {
- ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and
- {
- ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq
- {
- /ColorSpace
- [
- /Separation
- ColorSpace 1 get
- /DeviceGray
- [
- ColorSpace 3 get/exec cvx
- 4 AGMCORE_plate_ndx sub -1/roll cvx
- 4 1/roll cvx
- 3[/pop cvx]cvx/repeat cvx
- 1/exch cvx/sub cvx
- ]cvx
- ]def
- }{
- AGMCORE_report_unsupported_color_space
- AGMCORE_black_plate not
- {
- currentdict 0 false AGMCORE_separateShading
- }if
- }ifelse
- }{
- currentdict ColorSpace 1 get AGMCORE_IsCurrentColor
- 0 exch
- dup not currentoverprint and
- {/AGMCORE_ignoreshade true def}if
- AGMCORE_separateShading
- }ifelse
- }if
- currentdict
- end exch
- }if
- dup 0 get/DeviceN eq
- {
- exch begin
- ColorSpace 1 get convert_to_process
- {
- ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq
- {
- /ColorSpace
- [
- /DeviceN
- ColorSpace 1 get
- /DeviceGray
- [
- ColorSpace 3 get/exec cvx
- 4 AGMCORE_plate_ndx sub -1/roll cvx
- 4 1/roll cvx
- 3[/pop cvx]cvx/repeat cvx
- 1/exch cvx/sub cvx
- ]cvx
- ]def
- }{
- AGMCORE_report_unsupported_color_space
- AGMCORE_black_plate not
- {
- currentdict 0 false AGMCORE_separateShading
- /ColorSpace[/DeviceGray]def
- }if
- }ifelse
- }{
- currentdict
- false -1 ColorSpace 1 get
- {
- AGMCORE_IsCurrentColor
- {
- 1 add
- exch pop true exch exit
- }if
- 1 add
- }forall
- exch
- dup not currentoverprint and
- {/AGMCORE_ignoreshade true def}if
- AGMCORE_separateShading
- }ifelse
- currentdict
- end exch
- }if
- dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not
- {
- exch begin
- ColorSpace dup type/arraytype eq
- {0 get}if
- /DeviceGray ne
- {
- AGMCORE_report_unsupported_color_space
- AGMCORE_black_plate not
- {
- ColorSpace 0 get/CIEBasedA eq
- {
- /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def
- }if
- ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or
- {
- /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def
- }if
- ColorSpace 0 get/CIEBasedDEFG eq
- {
- /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def
- }if
- currentdict 0 false AGMCORE_separateShading
- }if
- }if
- currentdict
- end exch
- }if
- pop
- dup/AGMCORE_ignoreshade known
- {
- begin
- /ColorSpace[/Separation(None)/DeviceGray{}]def
- currentdict end
- }if
- }def
- /shfill
- {
- AGMCORE_separateShadingDict
- dup/AGMCORE_ignoreshade known
- {pop}
- {AGMCORE_&sysshfill}ifelse
- }def
- /makepattern
- {
- exch
- dup/PatternType get 2 eq
- {
- clonedict
- begin
- /Shading Shading AGMCORE_separateShadingDict def
- Shading/AGMCORE_ignoreshade known
- currentdict end exch
- {pop<</PatternType 1/PaintProc{pop}/BBox[0 0 1 1]/XStep 1/YStep 1/PaintType 1/TilingType 3>>}if
- exch AGMCORE_&sysmakepattern
- }{
- exch AGMCORE_&usrmakepattern
- }ifelse
- }def
- }if
- }if
- AGMCORE_in_rip_sep{
- /setcustomcolor
- {
- exch aload pop
- dup 7 1 roll inRip_spot_has_ink not {
- 4{4 index mul 4 1 roll}
- repeat
- /DeviceCMYK setcolorspace
- 6 -2 roll pop pop
- }{
- //Adobe_AGM_Core begin
- /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf
- end
- [/Separation 4 -1 roll/DeviceCMYK
- {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul}
- ]
- setcolorspace
- }ifelse
- setcolor
- }ndf
- /setseparationgray
- {
- [/Separation(All)/DeviceGray{}]setcolorspace_opt
- 1 exch sub setcolor
- }ndf
- }{
- /setseparationgray
- {
- AGMCORE_&setgray
- }ndf
- }ifelse
- /findcmykcustomcolor
- {
- 5 makereadonlyarray
- }ndf
- /setcustomcolor
- {
- exch aload pop pop
- 4{4 index mul 4 1 roll}repeat
- setcmykcolor pop
- }ndf
- /has_color
- /colorimage where{
- AGMCORE_producing_seps{
- pop true
- }{
- systemdict eq
- }ifelse
- }{
- false
- }ifelse
- def
- /map_index
- {
- 1 index mul exch getinterval{255 div}forall
- }bdf
- /map_indexed_devn
- {
- Lookup Names length 3 -1 roll cvi map_index
- }bdf
- /n_color_components
- {
- base_colorspace_type
- dup/DeviceGray eq{
- pop 1
- }{
- /DeviceCMYK eq{
- 4
- }{
- 3
- }ifelse
- }ifelse
- }bdf
- level2{
- /mo/moveto ldf
- /li/lineto ldf
- /cv/curveto ldf
- /knockout_unitsq
- {
- 1 setgray
- 0 0 1 1 rectfill
- }def
- level2/setcolorspace AGMCORE_key_known not and{
- /AGMCORE_&&&setcolorspace/setcolorspace ldf
- /AGMCORE_ReplaceMappedColor
- {
- dup type dup/arraytype eq exch/packedarraytype eq or
- {
- /AGMCORE_SpotAliasAry2 where{
- begin
- dup 0 get dup/Separation eq
- {
- pop
- dup length array copy
- dup dup 1 get
- current_spot_alias
- {
- dup map_alias
- {
- false set_spot_alias
- dup 1 exch setsepcolorspace
- true set_spot_alias
- begin
- /sep_colorspace_dict currentdict AGMCORE_gput
- pop pop pop
- [
- /Separation Name
- CSA map_csa
- MappedCSA
- /sep_colorspace_proc load
- ]
- dup Name
- end
- }if
- }if
- map_reserved_ink_name 1 xpt
- }{
- /DeviceN eq
- {
- dup length array copy
- dup dup 1 get[
- exch{
- current_spot_alias{
- dup map_alias{
- /Name get exch pop
- }if
- }if
- map_reserved_ink_name
- }forall
- ]1 xpt
- }if
- }ifelse
- end
- }if
- }if
- }def
- /setcolorspace
- {
- dup type dup/arraytype eq exch/packedarraytype eq or
- {
- dup 0 get/Indexed eq
- {
- AGMCORE_distilling
- {
- /PhotoshopDuotoneList where
- {
- pop false
- }{
- true
- }ifelse
- }{
- true
- }ifelse
- {
- aload pop 3 -1 roll
- AGMCORE_ReplaceMappedColor
- 3 1 roll 4 array astore
- }if
- }{
- AGMCORE_ReplaceMappedColor
- }ifelse
- }if
- DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if
- }def
- }if
- }{
- /adj
- {
- currentstrokeadjust{
- transform
- 0.25 sub round 0.25 add exch
- 0.25 sub round 0.25 add exch
- itransform
- }if
- }def
- /mo{
- adj moveto
- }def
- /li{
- adj lineto
- }def
- /cv{
- 6 2 roll adj
- 6 2 roll adj
- 6 2 roll adj curveto
- }def
- /knockout_unitsq
- {
- 1 setgray
- 8 8 1[8 0 0 8 0 0]{<ffffffffffffffff>}image
- }def
- /currentstrokeadjust{
- /currentstrokeadjust AGMCORE_gget
- }def
- /setstrokeadjust{
- /currentstrokeadjust exch AGMCORE_gput
- }def
- /setcolorspace
- {
- /currentcolorspace exch AGMCORE_gput
- }def
- /currentcolorspace
- {
- /currentcolorspace AGMCORE_gget
- }def
- /setcolor_devicecolor
- {
- base_colorspace_type
- dup/DeviceGray eq{
- pop setgray
- }{
- /DeviceCMYK eq{
- setcmykcolor
- }{
- setrgbcolor
- }ifelse
- }ifelse
- }def
- /setcolor
- {
- currentcolorspace 0 get
- dup/DeviceGray ne{
- dup/DeviceCMYK ne{
- dup/DeviceRGB ne{
- dup/Separation eq{
- pop
- currentcolorspace 3 gx
- currentcolorspace 2 get
- }{
- dup/Indexed eq{
- pop
- currentcolorspace 3 get dup type/stringtype eq{
- currentcolorspace 1 get n_color_components
- 3 -1 roll map_index
- }{
- exec
- }ifelse
- currentcolorspace 1 get
- }{
- /AGMCORE_cur_err/AGMCORE_invalid_color_space def
- AGMCORE_invalid_color_space
- }ifelse
- }ifelse
- }if
- }if
- }if
- setcolor_devicecolor
- }def
- }ifelse
- /sop/setoverprint ldf
- /lw/setlinewidth ldf
- /lc/setlinecap ldf
- /lj/setlinejoin ldf
- /ml/setmiterlimit ldf
- /dsh/setdash ldf
- /sadj/setstrokeadjust ldf
- /gry/setgray ldf
- /rgb/setrgbcolor ldf
- /cmyk[
- /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx
- /setcmykcolor load dup type/operatortype ne{/exec cvx}if
- ]cvx bdf
- level3 AGMCORE_host_sep not and{
- /nzopmsc{
- 6 dict begin
- /kk exch def
- /yy exch def
- /mm exch def
- /cc exch def
- /sum 0 def
- cc 0 ne{/sum sum 2#1000 or def cc}if
- mm 0 ne{/sum sum 2#0100 or def mm}if
- yy 0 ne{/sum sum 2#0010 or def yy}if
- kk 0 ne{/sum sum 2#0001 or def kk}if
- AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace
- sum 0 eq{0}if
- end
- setcolor
- }bdf
- }{
- /nzopmsc/cmyk ldf
- }ifelse
- /sep/setsepcolor ldf
- /devn/setdevicencolor ldf
- /idx/setindexedcolor ldf
- /colr/setcolor ldf
- /csacrd/set_csa_crd ldf
- /sepcs/setsepcolorspace ldf
- /devncs/setdevicencolorspace ldf
- /idxcs/setindexedcolorspace ldf
- /cp/closepath ldf
- /clp/clp_npth ldf
- /eclp/eoclp_npth ldf
- /f/fill ldf
- /ef/eofill ldf
- /@/stroke ldf
- /nclp/npth_clp ldf
- /gset/graphic_setup ldf
- /gcln/graphic_cleanup ldf
- /ct/concat ldf
- /cf/currentfile ldf
- /fl/filter ldf
- /rs/readstring ldf
- /AGMCORE_def_ht currenthalftone def
- /clonedict Adobe_AGM_Utils begin/clonedict load end def
- /clonearray Adobe_AGM_Utils begin/clonearray load end def
- currentdict{
- dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{
- bind
- }if
- def
- }forall
- /getrampcolor
- {
- /indx exch def
- 0 1 NumComp 1 sub
- {
- dup
- Samples exch get
- dup type/stringtype eq{indx get}if
- exch
- Scaling exch get aload pop
- 3 1 roll
- mul add
- }for
- ColorSpaceFamily/Separation eq
- {sep}
- {
- ColorSpaceFamily/DeviceN eq
- {devn}{setcolor}ifelse
- }ifelse
- }bdf
- /sssetbackground{
- aload pop
- ColorSpaceFamily/Separation eq
- {sep}
- {
- ColorSpaceFamily/DeviceN eq
- {devn}{setcolor}ifelse
- }ifelse
- }bdf
- /RadialShade
- {
- 40 dict begin
- /ColorSpaceFamily xdf
- /background xdf
- /ext1 xdf
- /ext0 xdf
- /BBox xdf
- /r2 xdf
- /c2y xdf
- /c2x xdf
- /r1 xdf
- /c1y xdf
- /c1x xdf
- /rampdict xdf
- /setinkoverprint where{pop/setinkoverprint{pop}def}if
- gsave
- BBox length 0 gt
- {
- np
- BBox 0 get BBox 1 get moveto
- BBox 2 get BBox 0 get sub 0 rlineto
- 0 BBox 3 get BBox 1 get sub rlineto
- BBox 2 get BBox 0 get sub neg 0 rlineto
- closepath
- clip
- np
- }if
- c1x c2x eq
- {
- c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse
- }{
- /slope c2y c1y sub c2x c1x sub div def
- /theta slope 1 atan def
- c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if
- c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if
- }ifelse
- gsave
- clippath
- c1x c1y translate
- theta rotate
- -90 rotate
- {pathbbox}stopped
- {0 0 0 0}if
- /yMax xdf
- /xMax xdf
- /yMin xdf
- /xMin xdf
- grestore
- xMax xMin eq yMax yMin eq or
- {
- grestore
- end
- }{
- /max{2 copy gt{pop}{exch pop}ifelse}bdf
- /min{2 copy lt{pop}{exch pop}ifelse}bdf
- rampdict begin
- 40 dict begin
- background length 0 gt{background sssetbackground gsave clippath fill grestore}if
- gsave
- c1x c1y translate
- theta rotate
- -90 rotate
- /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def
- /c1y 0 def
- /c1x 0 def
- /c2x 0 def
- ext0
- {
- 0 getrampcolor
- c2y r2 add r1 sub 0.0001 lt
- {
- c1x c1y r1 360 0 arcn
- pathbbox
- /aymax exch def
- /axmax exch def
- /aymin exch def
- /axmin exch def
- /bxMin xMin axmin min def
- /byMin yMin aymin min def
- /bxMax xMax axmax max def
- /byMax yMax aymax max def
- bxMin byMin moveto
- bxMax byMin lineto
- bxMax byMax lineto
- bxMin byMax lineto
- bxMin byMin lineto
- eofill
- }{
- c2y r1 add r2 le
- {
- c1x c1y r1 0 360 arc
- fill
- }
- {
- c2x c2y r2 0 360 arc fill
- r1 r2 eq
- {
- /p1x r1 neg def
- /p1y c1y def
- /p2x r1 def
- /p2y c1y def
- p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto
- fill
- }{
- /AA r2 r1 sub c2y div def
- AA -1 eq
- {/theta 89.99 def}
- {/theta AA 1 AA dup mul sub sqrt div 1 atan def}
- ifelse
- /SS1 90 theta add dup sin exch cos div def
- /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
- /p1y p1x SS1 div neg def
- /SS2 90 theta sub dup sin exch cos div def
- /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
- /p2y p2x SS2 div neg def
- r1 r2 gt
- {
- /L1maxX p1x yMin p1y sub SS1 div add def
- /L2maxX p2x yMin p2y sub SS2 div add def
- }{
- /L1maxX 0 def
- /L2maxX 0 def
- }ifelse
- p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
- L1maxX L1maxX p1x sub SS1 mul p1y add lineto
- fill
- }ifelse
- }ifelse
- }ifelse
- }if
- c1x c2x sub dup mul
- c1y c2y sub dup mul
- add 0.5 exp
- 0 dtransform
- dup mul exch dup mul add 0.5 exp 72 div
- 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
- 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
- 1 index 1 index lt{exch}if pop
- /hires xdf
- hires mul
- /numpix xdf
- /numsteps NumSamples def
- /rampIndxInc 1 def
- /subsampling false def
- numpix 0 ne
- {
- NumSamples numpix div 0.5 gt
- {
- /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def
- /rampIndxInc NumSamples 1 sub numsteps div def
- /subsampling true def
- }if
- }if
- /xInc c2x c1x sub numsteps div def
- /yInc c2y c1y sub numsteps div def
- /rInc r2 r1 sub numsteps div def
- /cx c1x def
- /cy c1y def
- /radius r1 def
- np
- xInc 0 eq yInc 0 eq rInc 0 eq and and
- {
- 0 getrampcolor
- cx cy radius 0 360 arc
- stroke
- NumSamples 1 sub getrampcolor
- cx cy radius 72 hires div add 0 360 arc
- 0 setlinewidth
- stroke
- }{
- 0
- numsteps
- {
- dup
- subsampling{round cvi}if
- getrampcolor
- cx cy radius 0 360 arc
- /cx cx xInc add def
- /cy cy yInc add def
- /radius radius rInc add def
- cx cy radius 360 0 arcn
- eofill
- rampIndxInc add
- }repeat
- pop
- }ifelse
- ext1
- {
- c2y r2 add r1 lt
- {
- c2x c2y r2 0 360 arc
- fill
- }{
- c2y r1 add r2 sub 0.0001 le
- {
- c2x c2y r2 360 0 arcn
- pathbbox
- /aymax exch def
- /axmax exch def
- /aymin exch def
- /axmin exch def
- /bxMin xMin axmin min def
- /byMin yMin aymin min def
- /bxMax xMax axmax max def
- /byMax yMax aymax max def
- bxMin byMin moveto
- bxMax byMin lineto
- bxMax byMax lineto
- bxMin byMax lineto
- bxMin byMin lineto
- eofill
- }{
- c2x c2y r2 0 360 arc fill
- r1 r2 eq
- {
- /p1x r2 neg def
- /p1y c2y def
- /p2x r2 def
- /p2y c2y def
- p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto
- fill
- }{
- /AA r2 r1 sub c2y div def
- AA -1 eq
- {/theta 89.99 def}
- {/theta AA 1 AA dup mul sub sqrt div 1 atan def}
- ifelse
- /SS1 90 theta add dup sin exch cos div def
- /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
- /p1y c2y p1x SS1 div sub def
- /SS2 90 theta sub dup sin exch cos div def
- /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
- /p2y c2y p2x SS2 div sub def
- r1 r2 lt
- {
- /L1maxX p1x yMax p1y sub SS1 div add def
- /L2maxX p2x yMax p2y sub SS2 div add def
- }{
- /L1maxX 0 def
- /L2maxX 0 def
- }ifelse
- p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
- L1maxX L1maxX p1x sub SS1 mul p1y add lineto
- fill
- }ifelse
- }ifelse
- }ifelse
- }if
- grestore
- grestore
- end
- end
- end
- }ifelse
- }bdf
- /GenStrips
- {
- 40 dict begin
- /ColorSpaceFamily xdf
- /background xdf
- /ext1 xdf
- /ext0 xdf
- /BBox xdf
- /y2 xdf
- /x2 xdf
- /y1 xdf
- /x1 xdf
- /rampdict xdf
- /setinkoverprint where{pop/setinkoverprint{pop}def}if
- gsave
- BBox length 0 gt
- {
- np
- BBox 0 get BBox 1 get moveto
- BBox 2 get BBox 0 get sub 0 rlineto
- 0 BBox 3 get BBox 1 get sub rlineto
- BBox 2 get BBox 0 get sub neg 0 rlineto
- closepath
- clip
- np
- }if
- x1 x2 eq
- {
- y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse
- }{
- /slope y2 y1 sub x2 x1 sub div def
- /theta slope 1 atan def
- x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if
- x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if
- }
- ifelse
- gsave
- clippath
- x1 y1 translate
- theta rotate
- {pathbbox}stopped
- {0 0 0 0}if
- /yMax exch def
- /xMax exch def
- /yMin exch def
- /xMin exch def
- grestore
- xMax xMin eq yMax yMin eq or
- {
- grestore
- end
- }{
- rampdict begin
- 20 dict begin
- background length 0 gt{background sssetbackground gsave clippath fill grestore}if
- gsave
- x1 y1 translate
- theta rotate
- /xStart 0 def
- /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def
- /ySpan yMax yMin sub def
- /numsteps NumSamples def
- /rampIndxInc 1 def
- /subsampling false def
- xStart 0 transform
- xEnd 0 transform
- 3 -1 roll
- sub dup mul
- 3 1 roll
- sub dup mul
- add 0.5 exp 72 div
- 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
- 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
- 1 index 1 index lt{exch}if pop
- mul
- /numpix xdf
- numpix 0 ne
- {
- NumSamples numpix div 0.5 gt
- {
- /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def
- /rampIndxInc NumSamples 1 sub numsteps div def
- /subsampling true def
- }if
- }if
- ext0
- {
- 0 getrampcolor
- xMin xStart lt
- {
- xMin yMin xMin neg ySpan rectfill
- }if
- }if
- /xInc xEnd xStart sub numsteps div def
- /x xStart def
- 0
- numsteps
- {
- dup
- subsampling{round cvi}if
- getrampcolor
- x yMin xInc ySpan rectfill
- /x x xInc add def
- rampIndxInc add
- }repeat
- pop
- ext1{
- xMax xEnd gt
- {
- xEnd yMin xMax xEnd sub ySpan rectfill
- }if
- }if
- grestore
- grestore
- end
- end
- end
- }ifelse
- }bdf
-}def
-/pt
-{
- end
-}def
-/dt{
-}def
-/pgsv{
- //Adobe_AGM_Core/AGMCORE_save save put
-}def
-/pgrs{
- //Adobe_AGM_Core/AGMCORE_save get restore
-}def
-systemdict/findcolorrendering known{
- /findcolorrendering systemdict/findcolorrendering get def
-}if
-systemdict/setcolorrendering known{
- /setcolorrendering systemdict/setcolorrendering get def
-}if
-/test_cmyk_color_plate
-{
- gsave
- setcmykcolor currentgray 1 ne
- grestore
-}def
-/inRip_spot_has_ink
-{
- dup//Adobe_AGM_Core/AGMCORE_name xddf
- convert_spot_to_process not
-}def
-/map255_to_range
-{
- 1 index sub
- 3 -1 roll 255 div mul add
-}def
-/set_csa_crd
-{
- /sep_colorspace_dict null AGMCORE_gput
- begin
- CSA get_csa_by_name setcolorspace_opt
- set_crd
- end
-}
-def
-/map_csa
-{
- currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse
- {pop}{get_csa_by_name/MappedCSA xdf}ifelse
-}def
-/setsepcolor
-{
- /sep_colorspace_dict AGMCORE_gget begin
- dup/sep_tint exch AGMCORE_gput
- TintProc
- end
-}def
-/setdevicencolor
-{
- /devicen_colorspace_dict AGMCORE_gget begin
- Names length copy
- Names length 1 sub -1 0
- {
- /devicen_tints AGMCORE_gget 3 1 roll xpt
- }for
- TintProc
- end
-}def
-/sep_colorspace_proc
-{
- /AGMCORE_tmp exch store
- /sep_colorspace_dict AGMCORE_gget begin
- currentdict/Components known{
- Components aload pop
- TintMethod/Lab eq{
- 2{AGMCORE_tmp mul NComponents 1 roll}repeat
- LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll
- }{
- TintMethod/Subtractive eq{
- NComponents{
- AGMCORE_tmp mul NComponents 1 roll
- }repeat
- }{
- NComponents{
- 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll
- }repeat
- }ifelse
- }ifelse
- }{
- ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get
- aload pop
- }ifelse
- end
-}def
-/sep_colorspace_gray_proc
-{
- /AGMCORE_tmp exch store
- /sep_colorspace_dict AGMCORE_gget begin
- GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get
- end
-}def
-/sep_proc_name
-{
- dup 0 get
- dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{
- pop[/DeviceGray]
- /sep_colorspace_gray_proc
- }{
- /sep_colorspace_proc
- }ifelse
-}def
-/setsepcolorspace
-{
- current_spot_alias{
- dup begin
- Name map_alias{
- exch pop
- }if
- end
- }if
- dup/sep_colorspace_dict exch AGMCORE_gput
- begin
- CSA map_csa
- /AGMCORE_sep_special Name dup()eq exch(All)eq or store
- AGMCORE_avoid_L2_sep_space{
- [/Indexed MappedCSA sep_proc_name 255 exch
- {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx
- ]setcolorspace_opt
- /TintProc{
- 255 mul round cvi setcolor
- }bdf
- }{
- MappedCSA 0 get/DeviceCMYK eq
- currentdict/Components known and
- AGMCORE_sep_special not and{
- /TintProc[
- Components aload pop Name findcmykcustomcolor
- /exch cvx/setcustomcolor cvx
- ]cvx bdf
- }{
- AGMCORE_host_sep Name(All)eq and{
- /TintProc{
- 1 exch sub setseparationgray
- }bdf
- }{
- AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and
- AGMCORE_host_sep or
- Name()eq and{
- /TintProc[
- MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{
- cvx/setcmykcolor cvx
- }{
- cvx/setgray cvx
- }ifelse
- ]cvx bdf
- }{
- AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{
- /TintProc[
- /dup cvx
- MappedCSA sep_proc_name cvx exch
- 0 get/DeviceGray eq{
- 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx
- }if
- /Name cvx/findcmykcustomcolor cvx/exch cvx
- AGMCORE_host_sep{
- AGMCORE_is_cmyk_sep
- /Name cvx
- /AGMCORE_IsSeparationAProcessColor load/exec cvx
- /not cvx/and cvx
- }{
- Name inRip_spot_has_ink not
- }ifelse
- [
- /pop cvx 1
- ]cvx/if cvx
- /setcustomcolor cvx
- ]cvx bdf
- }{
- /TintProc{setcolor}bdf
- [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- set_crd
- setsepcolor
- end
-}def
-/additive_blend
-{
- 3 dict begin
- /numarrays xdf
- /numcolors xdf
- 0 1 numcolors 1 sub
- {
- /c1 xdf
- 1
- 0 1 numarrays 1 sub
- {
- 1 exch add/index cvx
- c1/get cvx/mul cvx
- }for
- numarrays 1 add 1/roll cvx
- }for
- numarrays[/pop cvx]cvx/repeat cvx
- end
-}def
-/subtractive_blend
-{
- 3 dict begin
- /numarrays xdf
- /numcolors xdf
- 0 1 numcolors 1 sub
- {
- /c1 xdf
- 1 1
- 0 1 numarrays 1 sub
- {
- 1 3 3 -1 roll add/index cvx
- c1/get cvx/sub cvx/mul cvx
- }for
- /sub cvx
- numarrays 1 add 1/roll cvx
- }for
- numarrays[/pop cvx]cvx/repeat cvx
- end
-}def
-/exec_tint_transform
-{
- /TintProc[
- /TintTransform cvx/setcolor cvx
- ]cvx bdf
- MappedCSA setcolorspace_opt
-}bdf
-/devn_makecustomcolor
-{
- 2 dict begin
- /names_index xdf
- /Names xdf
- 1 1 1 1 Names names_index get findcmykcustomcolor
- /devicen_tints AGMCORE_gget names_index get setcustomcolor
- Names length{pop}repeat
- end
-}bdf
-/setdevicencolorspace
-{
- dup/AliasedColorants known{false}{true}ifelse
- current_spot_alias and{
- 7 dict begin
- /names_index 0 def
- dup/names_len exch/Names get length def
- /new_names names_len array def
- /new_LookupTables names_len array def
- /alias_cnt 0 def
- dup/Names get
- {
- dup map_alias{
- exch pop
- dup/ColorLookup known{
- dup begin
- new_LookupTables names_index ColorLookup put
- end
- }{
- dup/Components known{
- dup begin
- new_LookupTables names_index Components put
- end
- }{
- dup begin
- new_LookupTables names_index[null null null null]put
- end
- }ifelse
- }ifelse
- new_names names_index 3 -1 roll/Name get put
- /alias_cnt alias_cnt 1 add def
- }{
- /name xdf
- new_names names_index name put
- dup/LookupTables known{
- dup begin
- new_LookupTables names_index LookupTables names_index get put
- end
- }{
- dup begin
- new_LookupTables names_index[null null null null]put
- end
- }ifelse
- }ifelse
- /names_index names_index 1 add def
- }forall
- alias_cnt 0 gt{
- /AliasedColorants true def
- /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def
- 0 1 names_len 1 sub{
- /names_index xdf
- new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{
- /AliasedColorants false def
- exit
- }{
- new_LookupTables names_index get 0 get null eq{
- dup/Names get names_index get/name xdf
- name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq
- or or or not{
- /AliasedColorants false def
- exit
- }if
- }if
- }ifelse
- }for
- lut_entry_len 1 eq{
- /AliasedColorants false def
- }if
- AliasedColorants{
- dup begin
- /Names new_names def
- /LookupTables new_LookupTables def
- /AliasedColorants true def
- /NComponents lut_entry_len def
- /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def
- /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def
- currentdict/TTTablesIdx known not{
- /TTTablesIdx -1 def
- }if
- end
- }if
- }if
- end
- }if
- dup/devicen_colorspace_dict exch AGMCORE_gput
- begin
- currentdict/AliasedColorants known{
- AliasedColorants
- }{
- false
- }ifelse
- dup not{
- CSA map_csa
- }if
- /TintTransform load type/nulltype eq or{
- /TintTransform[
- 0 1 Names length 1 sub
- {
- /TTTablesIdx TTTablesIdx 1 add def
- dup LookupTables exch get dup 0 get null eq
- {
- 1 index
- Names exch get
- dup(Cyan)eq
- {
- pop exch
- LookupTables length exch sub
- /index cvx
- 0 0 0
- }
- {
- dup(Magenta)eq
- {
- pop exch
- LookupTables length exch sub
- /index cvx
- 0/exch cvx 0 0
- }{
- (Yellow)eq
- {
- exch
- LookupTables length exch sub
- /index cvx
- 0 0 3 -1/roll cvx 0
- }{
- exch
- LookupTables length exch sub
- /index cvx
- 0 0 0 4 -1/roll cvx
- }ifelse
- }ifelse
- }ifelse
- 5 -1/roll cvx/astore cvx
- }{
- dup length 1 sub
- LookupTables length 4 -1 roll sub 1 add
- /index cvx/mul cvx/round cvx/cvi cvx/get cvx
- }ifelse
- Names length TTTablesIdx add 1 add 1/roll cvx
- }for
- Names length[/pop cvx]cvx/repeat cvx
- NComponents Names length
- TintMethod/Subtractive eq
- {
- subtractive_blend
- }{
- additive_blend
- }ifelse
- ]cvx bdf
- }if
- AGMCORE_host_sep{
- Names convert_to_process{
- exec_tint_transform
- }
- {
- currentdict/AliasedColorants known{
- AliasedColorants not
- }{
- false
- }ifelse
- 5 dict begin
- /AvoidAliasedColorants xdf
- /painted? false def
- /names_index 0 def
- /names_len Names length def
- AvoidAliasedColorants{
- /currentspotalias current_spot_alias def
- false set_spot_alias
- }if
- Names{
- AGMCORE_is_cmyk_sep{
- dup(Cyan)eq AGMCORE_cyan_plate and exch
- dup(Magenta)eq AGMCORE_magenta_plate and exch
- dup(Yellow)eq AGMCORE_yellow_plate and exch
- (Black)eq AGMCORE_black_plate and or or or{
- /devicen_colorspace_dict AGMCORE_gget/TintProc[
- Names names_index/devn_makecustomcolor cvx
- ]cvx ddf
- /painted? true def
- }if
- painted?{exit}if
- }{
- 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{
- /devicen_colorspace_dict AGMCORE_gget/TintProc[
- Names names_index/devn_makecustomcolor cvx
- ]cvx ddf
- /painted? true def
- exit
- }if
- }ifelse
- /names_index names_index 1 add def
- }forall
- AvoidAliasedColorants{
- currentspotalias set_spot_alias
- }if
- painted?{
- /devicen_colorspace_dict AGMCORE_gget/names_index names_index put
- }{
- /devicen_colorspace_dict AGMCORE_gget/TintProc[
- names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx
- 0 0 0 0/setcmykcolor cvx
- ]cvx ddf
- }ifelse
- end
- }ifelse
- }
- {
- AGMCORE_in_rip_sep{
- Names convert_to_process not
- }{
- level3
- }ifelse
- {
- [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt
- /TintProc level3 not AGMCORE_in_rip_sep and{
- [
- Names/length cvx[/pop cvx]cvx/repeat cvx
- ]cvx bdf
- }{
- {setcolor}bdf
- }ifelse
- }{
- exec_tint_transform
- }ifelse
- }ifelse
- set_crd
- /AliasedColorants false def
- end
-}def
-/setindexedcolorspace
-{
- dup/indexed_colorspace_dict exch AGMCORE_gput
- begin
- currentdict/CSDBase known{
- CSDBase/CSD get_res begin
- currentdict/Names known{
- currentdict devncs
- }{
- 1 currentdict sepcs
- }ifelse
- AGMCORE_host_sep{
- 4 dict begin
- /compCnt/Names where{pop Names length}{1}ifelse def
- /NewLookup HiVal 1 add string def
- 0 1 HiVal{
- /tableIndex xdf
- Lookup dup type/stringtype eq{
- compCnt tableIndex map_index
- }{
- exec
- }ifelse
- /Names where{
- pop setdevicencolor
- }{
- setsepcolor
- }ifelse
- currentgray
- tableIndex exch
- 255 mul cvi
- NewLookup 3 1 roll put
- }for
- [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt
- end
- }{
- level3
- {
- currentdict/Names known{
- [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt
- }{
- [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt
- }ifelse
- }{
- [/Indexed MappedCSA HiVal
- [
- currentdict/Names known{
- Lookup dup type/stringtype eq
- {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx}
- {/exec cvx}ifelse
- /TintTransform load/exec cvx
- }{
- Lookup dup type/stringtype eq
- {/exch cvx/get cvx 255/div cvx}
- {/exec cvx}ifelse
- CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx
- }ifelse
- ]cvx
- ]setcolorspace_opt
- }ifelse
- }ifelse
- end
- set_crd
- }
- {
- CSA map_csa
- AGMCORE_host_sep level2 not and{
- 0 0 0 0 setcmykcolor
- }{
- [/Indexed MappedCSA
- level2 not has_color not and{
- dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{
- pop[/DeviceGray]
- }if
- HiVal GrayLookup
- }{
- HiVal
- currentdict/RangeArray known{
- {
- /indexed_colorspace_dict AGMCORE_gget begin
- Lookup exch
- dup HiVal gt{
- pop HiVal
- }if
- NComponents mul NComponents getinterval{}forall
- NComponents 1 sub -1 0{
- RangeArray exch 2 mul 2 getinterval aload pop map255_to_range
- NComponents 1 roll
- }for
- end
- }bind
- }{
- Lookup
- }ifelse
- }ifelse
- ]setcolorspace_opt
- set_crd
- }ifelse
- }ifelse
- end
-}def
-/setindexedcolor
-{
- AGMCORE_host_sep{
- /indexed_colorspace_dict AGMCORE_gget
- begin
- currentdict/CSDBase known{
- CSDBase/CSD get_res begin
- currentdict/Names known{
- map_indexed_devn
- devn
- }
- {
- Lookup 1 3 -1 roll map_index
- sep
- }ifelse
- end
- }{
- Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll
- map_index
- MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse
- }ifelse
- end
- }{
- level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{
- /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin
- map_indexed_devn
- devn
- end
- }
- {
- setcolor
- }ifelse
- }ifelse
-}def
-/ignoreimagedata
-{
- currentoverprint not{
- gsave
- dup clonedict begin
- 1 setgray
- /Decode[0 1]def
- /DataSource<FF>def
- /MultipleDataSources false def
- /BitsPerComponent 8 def
- currentdict end
- systemdict/image gx
- grestore
- }if
- consumeimagedata
-}def
-/add_res
-{
- dup/CSD eq{
- pop
- //Adobe_AGM_Core begin
- /AGMCORE_CSD_cache load 3 1 roll put
- end
- }{
- defineresource pop
- }ifelse
-}def
-/del_res
-{
- {
- aload pop exch
- dup/CSD eq{
- pop
- {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall
- }{
- exch
- {1 index undefineresource}forall
- pop
- }ifelse
- }forall
-}def
-/get_res
-{
- dup/CSD eq{
- pop
- dup type dup/nametype eq exch/stringtype eq or{
- AGMCORE_CSD_cache exch get
- }if
- }{
- findresource
- }ifelse
-}def
-/get_csa_by_name
-{
- dup type dup/nametype eq exch/stringtype eq or{
- /CSA get_res
- }if
-}def
-/paintproc_buf_init
-{
- /count get 0 0 put
-}def
-/paintproc_buf_next
-{
- dup/count get dup 0 get
- dup 3 1 roll
- 1 add 0 xpt
- get
-}def
-/cachepaintproc_compress
-{
- 5 dict begin
- currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def
- /ppdict 20 dict def
- /string_size 16000 def
- /readbuffer string_size string def
- currentglobal true setglobal
- ppdict 1 array dup 0 1 put/count xpt
- setglobal
- /LZWFilter
- {
- exch
- dup length 0 eq{
- pop
- }{
- ppdict dup length 1 sub 3 -1 roll put
- }ifelse
- {string_size}{0}ifelse string
- }/LZWEncode filter def
- {
- ReadFilter readbuffer readstring
- exch LZWFilter exch writestring
- not{exit}if
- }loop
- LZWFilter closefile
- ppdict
- end
-}def
-/cachepaintproc
-{
- 2 dict begin
- currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def
- /ppdict 20 dict def
- currentglobal true setglobal
- ppdict 1 array dup 0 1 put/count xpt
- setglobal
- {
- ReadFilter 16000 string readstring exch
- ppdict dup length 1 sub 3 -1 roll put
- not{exit}if
- }loop
- ppdict dup dup length 1 sub()put
- end
-}def
-/make_pattern
-{
- exch clonedict exch
- dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform
- exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub
- exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub
- matrix translate exch matrix concatmatrix
- 1 index begin
- BBox 0 get XStep div cvi XStep mul/xshift exch neg def
- BBox 1 get YStep div cvi YStep mul/yshift exch neg def
- BBox 0 get xshift add
- BBox 1 get yshift add
- BBox 2 get xshift add
- BBox 3 get yshift add
- 4 array astore
- /BBox exch def
- [xshift yshift/translate load null/exec load]dup
- 3/PaintProc load put cvx/PaintProc exch def
- end
- gsave 0 setgray
- makepattern
- grestore
-}def
-/set_pattern
-{
- dup/PatternType get 1 eq{
- dup/PaintType get 1 eq{
- currentoverprint sop[/DeviceGray]setcolorspace 0 setgray
- }if
- }if
- setpattern
-}def
-/setcolorspace_opt
-{
- dup currentcolorspace eq{pop}{setcolorspace}ifelse
-}def
-/updatecolorrendering
-{
- currentcolorrendering/RenderingIntent known{
- currentcolorrendering/RenderingIntent get
- }
- {
- Intent/AbsoluteColorimetric eq
- {
- /absolute_colorimetric_crd AGMCORE_gget dup null eq
- }
- {
- Intent/RelativeColorimetric eq
- {
- /relative_colorimetric_crd AGMCORE_gget dup null eq
- }
- {
- Intent/Saturation eq
- {
- /saturation_crd AGMCORE_gget dup null eq
- }
- {
- /perceptual_crd AGMCORE_gget dup null eq
- }ifelse
- }ifelse
- }ifelse
- {
- pop null
- }
- {
- /RenderingIntent known{null}{Intent}ifelse
- }ifelse
- }ifelse
- Intent ne{
- Intent/ColorRendering{findresource}stopped
- {
- pop pop systemdict/findcolorrendering known
- {
- Intent findcolorrendering
- {
- /ColorRendering findresource true exch
- }
- {
- /ColorRendering findresource
- product(Xerox Phaser 5400)ne
- exch
- }ifelse
- dup Intent/AbsoluteColorimetric eq
- {
- /absolute_colorimetric_crd exch AGMCORE_gput
- }
- {
- Intent/RelativeColorimetric eq
- {
- /relative_colorimetric_crd exch AGMCORE_gput
- }
- {
- Intent/Saturation eq
- {
- /saturation_crd exch AGMCORE_gput
- }
- {
- Intent/Perceptual eq
- {
- /perceptual_crd exch AGMCORE_gput
- }
- {
- pop
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- 1 index{exch}{pop}ifelse
- }
- {false}ifelse
- }
- {true}ifelse
- {
- dup begin
- currentdict/TransformPQR known{
- currentdict/TransformPQR get aload pop
- 3{{}eq 3 1 roll}repeat or or
- }
- {true}ifelse
- currentdict/MatrixPQR known{
- currentdict/MatrixPQR get aload pop
- 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll
- 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll
- 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq
- and and and and and and and and
- }
- {true}ifelse
- end
- or
- {
- clonedict begin
- /TransformPQR[
- {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div
- 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind
- {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div
- 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind
- {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div
- 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind
- ]def
- /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def
- /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def
- currentdict end
- }if
- setcolorrendering_opt
- }if
- }if
-}def
-/set_crd
-{
- AGMCORE_host_sep not level2 and{
- currentdict/ColorRendering known{
- ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if
- }{
- currentdict/Intent known{
- updatecolorrendering
- }if
- }ifelse
- currentcolorspace dup type/arraytype eq
- {0 get}if
- /DeviceRGB eq
- {
- currentdict/UCR known
- {/UCR}{/AGMCORE_currentucr}ifelse
- load setundercolorremoval
- currentdict/BG known
- {/BG}{/AGMCORE_currentbg}ifelse
- load setblackgeneration
- }if
- }if
-}def
-/set_ucrbg
-{
- dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse
- dup currentblackgeneration eq {pop}{setblackgeneration}ifelse
- dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse
- dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse
-}def
-/setcolorrendering_opt
-{
- dup currentcolorrendering eq{
- pop
- }{
- product(HP Color LaserJet 2605)anchorsearch{
- pop pop pop
- }{
- pop
- clonedict
- begin
- /Intent Intent def
- currentdict
- end
- setcolorrendering
- }ifelse
- }ifelse
-}def
-/cpaint_gcomp
-{
- convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf
- //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not
- {
- (%end_cpaint_gcomp)flushinput
- }if
-}def
-/cpaint_gsep
-{
- //Adobe_AGM_Core/AGMCORE_ConvertToProcess get
- {
- (%end_cpaint_gsep)flushinput
- }if
-}def
-/cpaint_gend
-{np}def
-/T1_path
-{
- currentfile token pop currentfile token pop mo
- {
- currentfile token pop dup type/stringtype eq
- {pop exit}if
- 0 exch rlineto
- currentfile token pop dup type/stringtype eq
- {pop exit}if
- 0 rlineto
- }loop
-}def
-/T1_gsave
- level3
- {/clipsave}
- {/gsave}ifelse
- load def
-/T1_grestore
- level3
- {/cliprestore}
- {/grestore}ifelse
- load def
-/set_spot_alias_ary
-{
- dup inherit_aliases
- //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf
-}def
-/set_spot_normalization_ary
-{
- dup inherit_aliases
- dup length
- /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if
- array
- //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf
- /AGMCORE_SpotAliasAry where{
- pop
- AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval
- AGMCORE_SpotAliasAry length
- }{0}ifelse
- AGMCORE_SpotAliasAry2 3 1 roll exch putinterval
- true set_spot_alias
-}def
-/inherit_aliases
-{
- {dup/Name get map_alias{/CSD put}{pop}ifelse}forall
-}def
-/set_spot_alias
-{
- /AGMCORE_SpotAliasAry2 where{
- /AGMCORE_current_spot_alias 3 -1 roll put
- }{
- pop
- }ifelse
-}def
-/current_spot_alias
-{
- /AGMCORE_SpotAliasAry2 where{
- /AGMCORE_current_spot_alias get
- }{
- false
- }ifelse
-}def
-/map_alias
-{
- /AGMCORE_SpotAliasAry2 where{
- begin
- /AGMCORE_name xdf
- false
- AGMCORE_SpotAliasAry2{
- dup/Name get AGMCORE_name eq{
- /CSD get/CSD get_res
- exch pop true
- exit
- }{
- pop
- }ifelse
- }forall
- end
- }{
- pop false
- }ifelse
-}bdf
-/spot_alias
-{
- true set_spot_alias
- /AGMCORE_&setcustomcolor AGMCORE_key_known not{
- //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put
- }if
- /customcolor_tint 1 AGMCORE_gput
- //Adobe_AGM_Core begin
- /setcustomcolor
- {
- //Adobe_AGM_Core begin
- dup/customcolor_tint exch AGMCORE_gput
- 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not
- current_spot_alias and{1 index 4 get map_alias}{false}ifelse
- {
- false set_spot_alias
- /sep_colorspace_dict AGMCORE_gget null ne
- {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse
- 3 1 roll 2 index{
- exch pop/sep_tint AGMCORE_gget exch
- }if
- mark 3 1 roll
- setsepcolorspace
- counttomark 0 ne{
- setsepcolor
- }if
- pop
- not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if
- pop
- true set_spot_alias
- }{
- AGMCORE_&setcustomcolor
- }ifelse
- end
- }bdf
- end
-}def
-/begin_feature
-{
- Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put
- count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put
- {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if
-}def
-/end_feature
-{
- 2 dict begin
- /spd/setpagedevice load def
- /setpagedevice{get_gstate spd set_gstate}def
- stopped{$error/newerror false put}if
- end
- count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse
- countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse
- {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if
-}def
-/set_negative
-{
- //Adobe_AGM_Core begin
- /AGMCORE_inverting exch def
- level2{
- currentpagedevice/NegativePrint known AGMCORE_distilling not and{
- currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{
- true begin_feature true{
- <</NegativePrint//Adobe_AGM_Core/AGMCORE_inverting get>>setpagedevice
- }end_feature
- }if
- /AGMCORE_inverting false def
- }if
- }if
- AGMCORE_inverting{
- [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer
- AGMCORE_distilling{
- erasepage
- }{
- gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse
- /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore
- }ifelse
- }if
- end
-}def
-/lw_save_restore_override{
- /md where{
- pop
- md begin
- initializepage
- /initializepage{}def
- /pmSVsetup{}def
- /endp{}def
- /pse{}def
- /psb{}def
- /orig_showpage where
- {pop}
- {/orig_showpage/showpage load def}
- ifelse
- /showpage{orig_showpage gR}def
- end
- }if
-}def
-/pscript_showpage_override{
- /NTPSOct95 where
- {
- begin
- showpage
- save
- /showpage/restore load def
- /restore{exch pop}def
- end
- }if
-}def
-/driver_media_override
-{
- /md where{
- pop
- md/initializepage known{
- md/initializepage{}put
- }if
- md/rC known{
- md/rC{4{pop}repeat}put
- }if
- }if
- /mysetup where{
- /mysetup[1 0 0 1 0 0]put
- }if
- Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put
- level2
- {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if
-}def
-/capture_mysetup
-{
- /Pscript_Win_Data where{
- pop
- Pscript_Win_Data/mysetup known{
- Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put
- }if
- }if
-}def
-/restore_mysetup
-{
- /Pscript_Win_Data where{
- pop
- Pscript_Win_Data/mysetup known{
- Adobe_AGM_Core/save_mysetup known{
- Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put
- Adobe_AGM_Core/save_mysetup undef
- }if
- }if
- }if
-}def
-/driver_check_media_override
-{
- /PrepsDict where
- {pop}
- {
- Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne
- Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq
- {
- Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and
- Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and
- }if
- {
- Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix
- }if
- }ifelse
-}def
-AGMCORE_err_strings begin
- /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def
- /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def
- /AGMCORE_invalid_color_space(This job contains an invalid color space. )def
-end
-/set_def_ht
-{AGMCORE_def_ht sethalftone}def
-/set_def_flat
-{AGMCORE_Default_flatness setflat}def
-end
-systemdict/setpacking known
-{setpacking}if
-%%EndResource
-%%BeginResource: procset Adobe_CoolType_Core 2.31 0
-%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved.
-%%Version: 2.31 0
-10 dict begin
-/Adobe_CoolType_Passthru currentdict def
-/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def
-Adobe_CoolType_Core_Defined
- {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def}
-if
-userdict/Adobe_CoolType_Core 70 dict dup begin put
-/Adobe_CoolType_Version 2.31 def
-/Level2?
- systemdict/languagelevel known dup
- {pop systemdict/languagelevel get 2 ge}
- if def
-Level2? not
- {
- /currentglobal false def
- /setglobal/pop load def
- /gcheck{pop false}bind def
- /currentpacking false def
- /setpacking/pop load def
- /SharedFontDirectory 0 dict def
- }
-if
-currentpacking
-true setpacking
-currentglobal false setglobal
-userdict/Adobe_CoolType_Data 2 copy known not
- {2 copy 10 dict put}
-if
-get
- begin
- /@opStackCountByLevel 32 dict def
- /@opStackLevel 0 def
- /@dictStackCountByLevel 32 dict def
- /@dictStackLevel 0 def
- end
-setglobal
-currentglobal true setglobal
-userdict/Adobe_CoolType_GVMFonts known not
- {userdict/Adobe_CoolType_GVMFonts 10 dict put}
-if
-setglobal
-currentglobal false setglobal
-userdict/Adobe_CoolType_LVMFonts known not
- {userdict/Adobe_CoolType_LVMFonts 10 dict put}
-if
-setglobal
-/ct_VMDictPut
- {
- dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse
- 3 1 roll put
- }bind def
-/ct_VMDictUndef
- {
- dup Adobe_CoolType_GVMFonts exch known
- {Adobe_CoolType_GVMFonts exch undef}
- {
- dup Adobe_CoolType_LVMFonts exch known
- {Adobe_CoolType_LVMFonts exch undef}
- {pop}
- ifelse
- }ifelse
- }bind def
-/ct_str1 1 string def
-/ct_xshow
-{
- /_ct_na exch def
- /_ct_i 0 def
- currentpoint
- /_ct_y exch def
- /_ct_x exch def
- {
- pop pop
- ct_str1 exch 0 exch put
- ct_str1 show
- {_ct_na _ct_i get}stopped
- {pop pop}
- {
- _ct_x _ct_y moveto
- 0
- rmoveto
- }
- ifelse
- /_ct_i _ct_i 1 add def
- currentpoint
- /_ct_y exch def
- /_ct_x exch def
- }
- exch
- @cshow
-}bind def
-/ct_yshow
-{
- /_ct_na exch def
- /_ct_i 0 def
- currentpoint
- /_ct_y exch def
- /_ct_x exch def
- {
- pop pop
- ct_str1 exch 0 exch put
- ct_str1 show
- {_ct_na _ct_i get}stopped
- {pop pop}
- {
- _ct_x _ct_y moveto
- 0 exch
- rmoveto
- }
- ifelse
- /_ct_i _ct_i 1 add def
- currentpoint
- /_ct_y exch def
- /_ct_x exch def
- }
- exch
- @cshow
-}bind def
-/ct_xyshow
-{
- /_ct_na exch def
- /_ct_i 0 def
- currentpoint
- /_ct_y exch def
- /_ct_x exch def
- {
- pop pop
- ct_str1 exch 0 exch put
- ct_str1 show
- {_ct_na _ct_i get}stopped
- {pop pop}
- {
- {_ct_na _ct_i 1 add get}stopped
- {pop pop pop}
- {
- _ct_x _ct_y moveto
- rmoveto
- }
- ifelse
- }
- ifelse
- /_ct_i _ct_i 2 add def
- currentpoint
- /_ct_y exch def
- /_ct_x exch def
- }
- exch
- @cshow
-}bind def
-/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def
-/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def
-/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def
-currentglobal true setglobal
-/ct_T3Defs
-{
-/BuildChar
-{
- 1 index/Encoding get exch get
- 1 index/BuildGlyph get exec
-}bind def
-/BuildGlyph
-{
- exch begin
- GlyphProcs exch get exec
- end
-}bind def
-}bind def
-setglobal
-/@_SaveStackLevels
- {
- Adobe_CoolType_Data
- begin
- /@vmState currentglobal def false setglobal
- @opStackCountByLevel
- @opStackLevel
- 2 copy known not
- {
- 2 copy
- 3 dict dup/args
- 7 index
- 5 add array put
- put get
- }
- {
- get dup/args get dup length 3 index lt
- {
- dup length 5 add array exch
- 1 index exch 0 exch putinterval
- 1 index exch/args exch put
- }
- {pop}
- ifelse
- }
- ifelse
- begin
- count 1 sub
- 1 index lt
- {pop count}
- if
- dup/argCount exch def
- dup 0 gt
- {
- args exch 0 exch getinterval
- astore pop
- }
- {pop}
- ifelse
- count
- /restCount exch def
- end
- /@opStackLevel @opStackLevel 1 add def
- countdictstack 1 sub
- @dictStackCountByLevel exch @dictStackLevel exch put
- /@dictStackLevel @dictStackLevel 1 add def
- @vmState setglobal
- end
- }bind def
-/@_RestoreStackLevels
- {
- Adobe_CoolType_Data
- begin
- /@opStackLevel @opStackLevel 1 sub def
- @opStackCountByLevel @opStackLevel get
- begin
- count restCount sub dup 0 gt
- {{pop}repeat}
- {pop}
- ifelse
- args 0 argCount getinterval{}forall
- end
- /@dictStackLevel @dictStackLevel 1 sub def
- @dictStackCountByLevel @dictStackLevel get
- end
- countdictstack exch sub dup 0 gt
- {{end}repeat}
- {pop}
- ifelse
- }bind def
-/@_PopStackLevels
- {
- Adobe_CoolType_Data
- begin
- /@opStackLevel @opStackLevel 1 sub def
- /@dictStackLevel @dictStackLevel 1 sub def
- end
- }bind def
-/@Raise
- {
- exch cvx exch errordict exch get exec
- stop
- }bind def
-/@ReRaise
- {
- cvx $error/errorname get errordict exch get exec
- stop
- }bind def
-/@Stopped
- {
- 0 @#Stopped
- }bind def
-/@#Stopped
- {
- @_SaveStackLevels
- stopped
- {@_RestoreStackLevels true}
- {@_PopStackLevels false}
- ifelse
- }bind def
-/@Arg
- {
- Adobe_CoolType_Data
- begin
- @opStackCountByLevel @opStackLevel 1 sub get
- begin
- args exch
- argCount 1 sub exch sub get
- end
- end
- }bind def
-currentglobal true setglobal
-/CTHasResourceForAllBug
- Level2?
- {
- 1 dict dup
- /@shouldNotDisappearDictValue true def
- Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put
- begin
- count @_SaveStackLevels
- {(*){pop stop}128 string/Category resourceforall}
- stopped pop
- @_RestoreStackLevels
- currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll
- {
- /@shouldNotDisappearDictValue known
- {
- {
- end
- currentdict 1 index eq
- {pop exit}
- if
- }
- loop
- }
- if
- }
- {
- pop
- end
- }
- ifelse
- }
- {false}
- ifelse
- def
-true setglobal
-/CTHasResourceStatusBug
- Level2?
- {
- mark
- {/steveamerige/Category resourcestatus}
- stopped
- {cleartomark true}
- {cleartomark currentglobal not}
- ifelse
- }
- {false}
- ifelse
- def
-setglobal
-/CTResourceStatus
- {
- mark 3 1 roll
- /Category findresource
- begin
- ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec
- {cleartomark false}
- {{3 2 roll pop true}{cleartomark false}ifelse}
- ifelse
- end
- }bind def
-/CTWorkAroundBugs
- {
- Level2?
- {
- /cid_PreLoad/ProcSet resourcestatus
- {
- pop pop
- currentglobal
- mark
- {
- (*)
- {
- dup/CMap CTHasResourceStatusBug
- {CTResourceStatus}
- {resourcestatus}
- ifelse
- {
- pop dup 0 eq exch 1 eq or
- {
- dup/CMap findresource gcheck setglobal
- /CMap undefineresource
- }
- {
- pop CTHasResourceForAllBug
- {exit}
- {stop}
- ifelse
- }
- ifelse
- }
- {pop}
- ifelse
- }
- 128 string/CMap resourceforall
- }
- stopped
- {cleartomark}
- stopped pop
- setglobal
- }
- if
- }
- if
- }bind def
-/ds
- {
- Adobe_CoolType_Core
- begin
- CTWorkAroundBugs
- /mo/moveto load def
- /nf/newencodedfont load def
- /msf{makefont setfont}bind def
- /uf{dup undefinefont ct_VMDictUndef}bind def
- /ur/undefineresource load def
- /chp/charpath load def
- /awsh/awidthshow load def
- /wsh/widthshow load def
- /ash/ashow load def
- /@xshow/xshow load def
- /@yshow/yshow load def
- /@xyshow/xyshow load def
- /@cshow/cshow load def
- /sh/show load def
- /rp/repeat load def
- /.n/.notdef def
- end
- currentglobal false setglobal
- userdict/Adobe_CoolType_Data 2 copy known not
- {2 copy 10 dict put}
- if
- get
- begin
- /AddWidths? false def
- /CC 0 def
- /charcode 2 string def
- /@opStackCountByLevel 32 dict def
- /@opStackLevel 0 def
- /@dictStackCountByLevel 32 dict def
- /@dictStackLevel 0 def
- /InVMFontsByCMap 10 dict def
- /InVMDeepCopiedFonts 10 dict def
- end
- setglobal
- }bind def
-/dt
- {
- currentdict Adobe_CoolType_Core eq
- {end}
- if
- }bind def
-/ps
- {
- Adobe_CoolType_Core begin
- Adobe_CoolType_GVMFonts begin
- Adobe_CoolType_LVMFonts begin
- SharedFontDirectory begin
- }bind def
-/pt
- {
- end
- end
- end
- end
- }bind def
-/unload
- {
- systemdict/languagelevel known
- {
- systemdict/languagelevel get 2 ge
- {
- userdict/Adobe_CoolType_Core 2 copy known
- {undef}
- {pop pop}
- ifelse
- }
- if
- }
- if
- }bind def
-/ndf
- {
- 1 index where
- {pop pop pop}
- {dup xcheck{bind}if def}
- ifelse
- }def
-/findfont systemdict
- begin
- userdict
- begin
- /globaldict where{/globaldict get begin}if
- dup where pop exch get
- /globaldict where{pop end}if
- end
- end
-Adobe_CoolType_Core_Defined
- {/systemfindfont exch def}
- {
- /findfont 1 index def
- /systemfindfont exch def
- }
-ifelse
-/undefinefont
- {pop}ndf
-/copyfont
- {
- currentglobal 3 1 roll
- 1 index gcheck setglobal
- dup null eq{0}{dup length}ifelse
- 2 index length add 1 add dict
- begin
- exch
- {
- 1 index/FID eq
- {pop pop}
- {def}
- ifelse
- }
- forall
- dup null eq
- {pop}
- {{def}forall}
- ifelse
- currentdict
- end
- exch setglobal
- }bind def
-/copyarray
- {
- currentglobal exch
- dup gcheck setglobal
- dup length array copy
- exch setglobal
- }bind def
-/newencodedfont
- {
- currentglobal
- {
- SharedFontDirectory 3 index known
- {SharedFontDirectory 3 index get/FontReferenced known}
- {false}
- ifelse
- }
- {
- FontDirectory 3 index known
- {FontDirectory 3 index get/FontReferenced known}
- {
- SharedFontDirectory 3 index known
- {SharedFontDirectory 3 index get/FontReferenced known}
- {false}
- ifelse
- }
- ifelse
- }
- ifelse
- dup
- {
- 3 index findfont/FontReferenced get
- 2 index dup type/nametype eq
- {findfont}
- if ne
- {pop false}
- if
- }
- if
- dup
- {
- 1 index dup type/nametype eq
- {findfont}
- if
- dup/CharStrings known
- {
- /CharStrings get length
- 4 index findfont/CharStrings get length
- ne
- {
- pop false
- }
- if
- }
- {pop}
- ifelse
- }
- if
- {
- pop
- 1 index findfont
- /Encoding get exch
- 0 1 255
- {2 copy get 3 index 3 1 roll put}
- for
- pop pop pop
- }
- {
- currentglobal
- 4 1 roll
- dup type/nametype eq
- {findfont}
- if
- dup gcheck setglobal
- dup dup maxlength 2 add dict
- begin
- exch
- {
- 1 index/FID ne
- 2 index/Encoding ne and
- {def}
- {pop pop}
- ifelse
- }
- forall
- /FontReferenced exch def
- /Encoding exch dup length array copy def
- /FontName 1 index dup type/stringtype eq{cvn}if def dup
- currentdict
- end
- definefont ct_VMDictPut
- setglobal
- }
- ifelse
- }bind def
-/SetSubstituteStrategy
- {
- $SubstituteFont
- begin
- dup type/dicttype ne
- {0 dict}
- if
- currentdict/$Strategies known
- {
- exch $Strategies exch
- 2 copy known
- {
- get
- 2 copy maxlength exch maxlength add dict
- begin
- {def}forall
- {def}forall
- currentdict
- dup/$Init known
- {dup/$Init get exec}
- if
- end
- /$Strategy exch def
- }
- {pop pop pop}
- ifelse
- }
- {pop pop}
- ifelse
- end
- }bind def
-/scff
- {
- $SubstituteFont
- begin
- dup type/stringtype eq
- {dup length exch}
- {null}
- ifelse
- /$sname exch def
- /$slen exch def
- /$inVMIndex
- $sname null eq
- {
- 1 index $str cvs
- dup length $slen sub $slen getinterval cvn
- }
- {$sname}
- ifelse def
- end
- {findfont}
- @Stopped
- {
- dup length 8 add string exch
- 1 index 0(BadFont:)putinterval
- 1 index exch 8 exch dup length string cvs putinterval cvn
- {findfont}
- @Stopped
- {pop/Courier findfont}
- if
- }
- if
- $SubstituteFont
- begin
- /$sname null def
- /$slen 0 def
- /$inVMIndex null def
- end
- }bind def
-/isWidthsOnlyFont
- {
- dup/WidthsOnly known
- {pop pop true}
- {
- dup/FDepVector known
- {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall}
- {
- dup/FDArray known
- {/FDArray get{isWidthsOnlyFont dup{exit}if}forall}
- {pop}
- ifelse
- }
- ifelse
- }
- ifelse
- }bind def
-/ct_StyleDicts 4 dict dup begin
- /Adobe-Japan1 4 dict dup begin
- Level2?
- {
- /Serif
- /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus
- {pop pop/HeiseiMin-W3}
- {
- /CIDFont/Category resourcestatus
- {
- pop pop
- /HeiseiMin-W3/CIDFont resourcestatus
- {pop pop/HeiseiMin-W3}
- {/Ryumin-Light}
- ifelse
- }
- {/Ryumin-Light}
- ifelse
- }
- ifelse
- def
- /SansSerif
- /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus
- {pop pop/HeiseiKakuGo-W5}
- {
- /CIDFont/Category resourcestatus
- {
- pop pop
- /HeiseiKakuGo-W5/CIDFont resourcestatus
- {pop pop/HeiseiKakuGo-W5}
- {/GothicBBB-Medium}
- ifelse
- }
- {/GothicBBB-Medium}
- ifelse
- }
- ifelse
- def
- /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus
- {pop pop/HeiseiMaruGo-W4}
- {
- /CIDFont/Category resourcestatus
- {
- pop pop
- /HeiseiMaruGo-W4/CIDFont resourcestatus
- {pop pop/HeiseiMaruGo-W4}
- {
- /Jun101-Light-RKSJ-H/Font resourcestatus
- {pop pop/Jun101-Light}
- {SansSerif}
- ifelse
- }
- ifelse
- }
- {
- /Jun101-Light-RKSJ-H/Font resourcestatus
- {pop pop/Jun101-Light}
- {SansSerif}
- ifelse
- }
- ifelse
- }
- ifelse
- /RoundSansSerif exch def
- /Default Serif def
- }
- {
- /Serif/Ryumin-Light def
- /SansSerif/GothicBBB-Medium def
- {
- (fonts/Jun101-Light-83pv-RKSJ-H)status
- }stopped
- {pop}{
- {pop pop pop pop/Jun101-Light}
- {SansSerif}
- ifelse
- /RoundSansSerif exch def
- }ifelse
- /Default Serif def
- }
- ifelse
- end
- def
- /Adobe-Korea1 4 dict dup begin
- /Serif/HYSMyeongJo-Medium def
- /SansSerif/HYGoThic-Medium def
- /RoundSansSerif SansSerif def
- /Default Serif def
- end
- def
- /Adobe-GB1 4 dict dup begin
- /Serif/STSong-Light def
- /SansSerif/STHeiti-Regular def
- /RoundSansSerif SansSerif def
- /Default Serif def
- end
- def
- /Adobe-CNS1 4 dict dup begin
- /Serif/MKai-Medium def
- /SansSerif/MHei-Medium def
- /RoundSansSerif SansSerif def
- /Default Serif def
- end
- def
-end
-def
-Level2?{currentglobal true setglobal}if
-/ct_BoldRomanWidthProc
- {
- stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth
- 0 0
- }bind def
-/ct_Type0WidthProc
- {
- dup stringwidth 0 0 moveto
- 2 index true charpath pathbbox
- 0 -1
- 7 index 2 div .88
- setcachedevice2
- pop
- 0 0
- }bind def
-/ct_Type0WMode1WidthProc
- {
- dup stringwidth
- pop 2 div neg -0.88
- 2 copy
- moveto
- 0 -1
- 5 -1 roll true charpath pathbbox
- setcachedevice
- }bind def
-/cHexEncoding
-[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
-/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
-/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
-/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
-/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
-/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
-/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
-/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
-/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
-/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
-/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
-/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
-/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
-/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def
-/ct_BoldBaseFont
- 11 dict begin
- /FontType 3 def
- /FontMatrix[1 0 0 1 0 0]def
- /FontBBox[0 0 1 1]def
- /Encoding cHexEncoding def
- /_setwidthProc/ct_BoldRomanWidthProc load def
- /_bcstr1 1 string def
- /BuildChar
- {
- exch begin
- _basefont setfont
- _bcstr1 dup 0 4 -1 roll put
- dup
- _setwidthProc
- 3 copy
- moveto
- show
- _basefonto setfont
- moveto
- show
- end
- }bind def
- currentdict
- end
-def
-systemdict/composefont known
-{
-/ct_DefineIdentity-H
-{
- /Identity-H/CMap resourcestatus
- {
- pop pop
- }
- {
- /CIDInit/ProcSet findresource begin
- 12 dict begin
- begincmap
- /CIDSystemInfo 3 dict dup begin
- /Registry(Adobe)def
- /Ordering(Identity)def
- /Supplement 0 def
- end def
- /CMapName/Identity-H def
- /CMapVersion 1.000 def
- /CMapType 1 def
- 1 begincodespacerange
- <0000><FFFF>
- endcodespacerange
- 1 begincidrange
- <0000><FFFF>0
- endcidrange
- endcmap
- CMapName currentdict/CMap defineresource pop
- end
- end
- }
- ifelse
-}
-def
-/ct_BoldBaseCIDFont
- 11 dict begin
- /CIDFontType 1 def
- /CIDFontName/ct_BoldBaseCIDFont def
- /FontMatrix[1 0 0 1 0 0]def
- /FontBBox[0 0 1 1]def
- /_setwidthProc/ct_Type0WidthProc load def
- /_bcstr2 2 string def
- /BuildGlyph
- {
- exch begin
- _basefont setfont
- _bcstr2 1 2 index 256 mod put
- _bcstr2 0 3 -1 roll 256 idiv put
- _bcstr2 dup _setwidthProc
- 3 copy
- moveto
- show
- _basefonto setfont
- moveto
- show
- end
- }bind def
- currentdict
- end
-def
-}if
-Level2?{setglobal}if
-/ct_CopyFont{
- {
- 1 index/FID ne 2 index/UniqueID ne and
- {def}{pop pop}ifelse
- }forall
-}bind def
-/ct_Type0CopyFont
-{
- exch
- dup length dict
- begin
- ct_CopyFont
- [
- exch
- FDepVector
- {
- dup/FontType get 0 eq
- {
- 1 index ct_Type0CopyFont
- /_ctType0 exch definefont
- }
- {
- /_ctBaseFont exch
- 2 index exec
- }
- ifelse
- exch
- }
- forall
- pop
- ]
- /FDepVector exch def
- currentdict
- end
-}bind def
-/ct_MakeBoldFont
-{
- dup/ct_SyntheticBold known
- {
- dup length 3 add dict begin
- ct_CopyFont
- /ct_StrokeWidth .03 0 FontMatrix idtransform pop def
- /ct_SyntheticBold true def
- currentdict
- end
- definefont
- }
- {
- dup dup length 3 add dict
- begin
- ct_CopyFont
- /PaintType 2 def
- /StrokeWidth .03 0 FontMatrix idtransform pop def
- /dummybold currentdict
- end
- definefont
- dup/FontType get dup 9 ge exch 11 le and
- {
- ct_BoldBaseCIDFont
- dup length 3 add dict copy begin
- dup/CIDSystemInfo get/CIDSystemInfo exch def
- ct_DefineIdentity-H
- /_Type0Identity/Identity-H 3 -1 roll[exch]composefont
- /_basefont exch def
- /_Type0Identity/Identity-H 3 -1 roll[exch]composefont
- /_basefonto exch def
- currentdict
- end
- /CIDFont defineresource
- }
- {
- ct_BoldBaseFont
- dup length 3 add dict copy begin
- /_basefont exch def
- /_basefonto exch def
- currentdict
- end
- definefont
- }
- ifelse
- }
- ifelse
-}bind def
-/ct_MakeBold{
- 1 index
- 1 index
- findfont
- currentglobal 5 1 roll
- dup gcheck setglobal
- dup
- /FontType get 0 eq
- {
- dup/WMode known{dup/WMode get 1 eq}{false}ifelse
- version length 4 ge
- and
- {version 0 4 getinterval cvi 2015 ge}
- {true}
- ifelse
- {/ct_Type0WidthProc}
- {/ct_Type0WMode1WidthProc}
- ifelse
- ct_BoldBaseFont/_setwidthProc 3 -1 roll load put
- {ct_MakeBoldFont}ct_Type0CopyFont definefont
- }
- {
- dup/_fauxfont known not 1 index/SubstMaster known not and
- {
- ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put
- ct_MakeBoldFont
- }
- {
- 2 index 2 index eq
- {exch pop }
- {
- dup length dict begin
- ct_CopyFont
- currentdict
- end
- definefont
- }
- ifelse
- }
- ifelse
- }
- ifelse
- pop pop pop
- setglobal
-}bind def
-/?str1 256 string def
-/?set
- {
- $SubstituteFont
- begin
- /$substituteFound false def
- /$fontname 1 index def
- /$doSmartSub false def
- end
- dup
- findfont
- $SubstituteFont
- begin
- $substituteFound
- {false}
- {
- dup/FontName known
- {
- dup/FontName get $fontname eq
- 1 index/DistillerFauxFont known not and
- /currentdistillerparams where
- {pop false 2 index isWidthsOnlyFont not and}
- if
- }
- {false}
- ifelse
- }
- ifelse
- exch pop
- /$doSmartSub true def
- end
- {
- 5 1 roll pop pop pop pop
- findfont
- }
- {
- 1 index
- findfont
- dup/FontType get 3 eq
- {
- 6 1 roll pop pop pop pop pop false
- }
- {pop true}
- ifelse
- {
- $SubstituteFont
- begin
- pop pop
- /$styleArray 1 index def
- /$regOrdering 2 index def
- pop pop
- 0 1 $styleArray length 1 sub
- {
- $styleArray exch get
- ct_StyleDicts $regOrdering
- 2 copy known
- {
- get
- exch 2 copy known not
- {pop/Default}
- if
- get
- dup type/nametype eq
- {
- ?str1 cvs length dup 1 add exch
- ?str1 exch(-)putinterval
- exch dup length exch ?str1 exch 3 index exch putinterval
- add ?str1 exch 0 exch getinterval cvn
- }
- {
- pop pop/Unknown
- }
- ifelse
- }
- {
- pop pop pop pop/Unknown
- }
- ifelse
- }
- for
- end
- findfont
- }if
- }
- ifelse
- currentglobal false setglobal 3 1 roll
- null copyfont definefont pop
- setglobal
- }bind def
-setpacking
-userdict/$SubstituteFont 25 dict put
-1 dict
- begin
- /SubstituteFont
- dup $error exch 2 copy known
- {get}
- {pop pop{pop/Courier}bind}
- ifelse def
- /currentdistillerparams where dup
- {
- pop pop
- currentdistillerparams/CannotEmbedFontPolicy 2 copy known
- {get/Error eq}
- {pop pop false}
- ifelse
- }
- if not
- {
- countdictstack array dictstack 0 get
- begin
- userdict
- begin
- $SubstituteFont
- begin
- /$str 128 string def
- /$fontpat 128 string def
- /$slen 0 def
- /$sname null def
- /$match false def
- /$fontname null def
- /$substituteFound false def
- /$inVMIndex null def
- /$doSmartSub true def
- /$depth 0 def
- /$fontname null def
- /$italicangle 26.5 def
- /$dstack null def
- /$Strategies 10 dict dup
- begin
- /$Type3Underprint
- {
- currentglobal exch false setglobal
- 11 dict
- begin
- /UseFont exch
- $WMode 0 ne
- {
- dup length dict copy
- dup/WMode $WMode put
- /UseFont exch definefont
- }
- if def
- /FontName $fontname dup type/stringtype eq{cvn}if def
- /FontType 3 def
- /FontMatrix[.001 0 0 .001 0 0]def
- /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def
- /FontBBox[0 0 0 0]def
- /CCInfo 7 dict dup
- begin
- /cc null def
- /x 0 def
- /y 0 def
- end def
- /BuildChar
- {
- exch
- begin
- CCInfo
- begin
- 1 string dup 0 3 index put exch pop
- /cc exch def
- UseFont 1000 scalefont setfont
- cc stringwidth/y exch def/x exch def
- x y setcharwidth
- $SubstituteFont/$Strategy get/$Underprint get exec
- 0 0 moveto cc show
- x y moveto
- end
- end
- }bind def
- currentdict
- end
- exch setglobal
- }bind def
- /$GetaTint
- 2 dict dup
- begin
- /$BuildFont
- {
- dup/WMode known
- {dup/WMode get}
- {0}
- ifelse
- /$WMode exch def
- $fontname exch
- dup/FontName known
- {
- dup/FontName get
- dup type/stringtype eq{cvn}if
- }
- {/unnamedfont}
- ifelse
- exch
- Adobe_CoolType_Data/InVMDeepCopiedFonts get
- 1 index/FontName get known
- {
- pop
- Adobe_CoolType_Data/InVMDeepCopiedFonts get
- 1 index get
- null copyfont
- }
- {$deepcopyfont}
- ifelse
- exch 1 index exch/FontBasedOn exch put
- dup/FontName $fontname dup type/stringtype eq{cvn}if put
- definefont
- Adobe_CoolType_Data/InVMDeepCopiedFonts get
- begin
- dup/FontBasedOn get 1 index def
- end
- }bind def
- /$Underprint
- {
- gsave
- x abs y abs gt
- {/y 1000 def}
- {/x -1000 def 500 120 translate}
- ifelse
- Level2?
- {
- [/Separation(All)/DeviceCMYK{0 0 0 1 pop}]
- setcolorspace
- }
- {0 setgray}
- ifelse
- 10 setlinewidth
- x .8 mul
- [7 3]
- {
- y mul 8 div 120 sub x 10 div exch moveto
- 0 y 4 div neg rlineto
- dup 0 rlineto
- 0 y 4 div rlineto
- closepath
- gsave
- Level2?
- {.2 setcolor}
- {.8 setgray}
- ifelse
- fill grestore
- stroke
- }
- forall
- pop
- grestore
- }bind def
- end def
- /$Oblique
- 1 dict dup
- begin
- /$BuildFont
- {
- currentglobal exch dup gcheck setglobal
- null copyfont
- begin
- /FontBasedOn
- currentdict/FontName known
- {
- FontName
- dup type/stringtype eq{cvn}if
- }
- {/unnamedfont}
- ifelse
- def
- /FontName $fontname dup type/stringtype eq{cvn}if def
- /currentdistillerparams where
- {pop}
- {
- /FontInfo currentdict/FontInfo known
- {FontInfo null copyfont}
- {2 dict}
- ifelse
- dup
- begin
- /ItalicAngle $italicangle def
- /FontMatrix FontMatrix
- [1 0 ItalicAngle dup sin exch cos div 1 0 0]
- matrix concatmatrix readonly
- end
- 4 2 roll def
- def
- }
- ifelse
- FontName currentdict
- end
- definefont
- exch setglobal
- }bind def
- end def
- /$None
- 1 dict dup
- begin
- /$BuildFont{}bind def
- end def
- end def
- /$Oblique SetSubstituteStrategy
- /$findfontByEnum
- {
- dup type/stringtype eq{cvn}if
- dup/$fontname exch def
- $sname null eq
- {$str cvs dup length $slen sub $slen getinterval}
- {pop $sname}
- ifelse
- $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval
- /$match false def
- $SubstituteFont/$dstack countdictstack array dictstack put
- mark
- {
- $fontpat 0 $slen 7 add getinterval
- {/$match exch def exit}
- $str filenameforall
- }
- stopped
- {
- cleardictstack
- currentdict
- true
- $SubstituteFont/$dstack get
- {
- exch
- {
- 1 index eq
- {pop false}
- {true}
- ifelse
- }
- {begin false}
- ifelse
- }
- forall
- pop
- }
- if
- cleartomark
- /$slen 0 def
- $match false ne
- {$match(fonts/)anchorsearch pop pop cvn}
- {/Courier}
- ifelse
- }bind def
- /$ROS 1 dict dup
- begin
- /Adobe 4 dict dup
- begin
- /Japan1 [/Ryumin-Light/HeiseiMin-W3
- /GothicBBB-Medium/HeiseiKakuGo-W5
- /HeiseiMaruGo-W4/Jun101-Light]def
- /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def
- /GB1 [/STSong-Light/STHeiti-Regular]def
- /CNS1 [/MKai-Medium/MHei-Medium]def
- end def
- end def
- /$cmapname null def
- /$deepcopyfont
- {
- dup/FontType get 0 eq
- {
- 1 dict dup/FontName/copied put copyfont
- begin
- /FDepVector FDepVector copyarray
- 0 1 2 index length 1 sub
- {
- 2 copy get $deepcopyfont
- dup/FontName/copied put
- /copied exch definefont
- 3 copy put pop pop
- }
- for
- def
- currentdict
- end
- }
- {$Strategies/$Type3Underprint get exec}
- ifelse
- }bind def
- /$buildfontname
- {
- dup/CIDFont findresource/CIDSystemInfo get
- begin
- Registry length Ordering length Supplement 8 string cvs
- 3 copy length 2 add add add string
- dup 5 1 roll dup 0 Registry putinterval
- dup 4 index(-)putinterval
- dup 4 index 1 add Ordering putinterval
- 4 2 roll add 1 add 2 copy(-)putinterval
- end
- 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch
- anchorsearch
- {pop pop 3 2 roll putinterval cvn/$cmapname exch def}
- {pop pop pop pop pop}
- ifelse
- length
- $str 1 index(-)putinterval 1 add
- $str 1 index $cmapname $fontpat cvs putinterval
- $cmapname length add
- $str exch 0 exch getinterval cvn
- }bind def
- /$findfontByROS
- {
- /$fontname exch def
- $ROS Registry 2 copy known
- {
- get Ordering 2 copy known
- {get}
- {pop pop[]}
- ifelse
- }
- {pop pop[]}
- ifelse
- false exch
- {
- dup/CIDFont resourcestatus
- {
- pop pop
- save
- 1 index/CIDFont findresource
- dup/WidthsOnly known
- {dup/WidthsOnly get}
- {false}
- ifelse
- exch pop
- exch restore
- {pop}
- {exch pop true exit}
- ifelse
- }
- {pop}
- ifelse
- }
- forall
- {$str cvs $buildfontname}
- {
- false(*)
- {
- save exch
- dup/CIDFont findresource
- dup/WidthsOnly known
- {dup/WidthsOnly get not}
- {true}
- ifelse
- exch/CIDSystemInfo get
- dup/Registry get Registry eq
- exch/Ordering get Ordering eq and and
- {exch restore exch pop true exit}
- {pop restore}
- ifelse
- }
- $str/CIDFont resourceforall
- {$buildfontname}
- {$fontname $findfontByEnum}
- ifelse
- }
- ifelse
- }bind def
- end
- end
- currentdict/$error known currentdict/languagelevel known and dup
- {pop $error/SubstituteFont known}
- if
- dup
- {$error}
- {Adobe_CoolType_Core}
- ifelse
- begin
- {
- /SubstituteFont
- /CMap/Category resourcestatus
- {
- pop pop
- {
- $SubstituteFont
- begin
- /$substituteFound true def
- dup length $slen gt
- $sname null ne or
- $slen 0 gt and
- {
- $sname null eq
- {dup $str cvs dup length $slen sub $slen getinterval cvn}
- {$sname}
- ifelse
- Adobe_CoolType_Data/InVMFontsByCMap get
- 1 index 2 copy known
- {
- get
- false exch
- {
- pop
- currentglobal
- {
- GlobalFontDirectory 1 index known
- {exch pop true exit}
- {pop}
- ifelse
- }
- {
- FontDirectory 1 index known
- {exch pop true exit}
- {
- GlobalFontDirectory 1 index known
- {exch pop true exit}
- {pop}
- ifelse
- }
- ifelse
- }
- ifelse
- }
- forall
- }
- {pop pop false}
- ifelse
- {
- exch pop exch pop
- }
- {
- dup/CMap resourcestatus
- {
- pop pop
- dup/$cmapname exch def
- /CMap findresource/CIDSystemInfo get{def}forall
- $findfontByROS
- }
- {
- 128 string cvs
- dup(-)search
- {
- 3 1 roll search
- {
- 3 1 roll pop
- {dup cvi}
- stopped
- {pop pop pop pop pop $findfontByEnum}
- {
- 4 2 roll pop pop
- exch length
- exch
- 2 index length
- 2 index
- sub
- exch 1 sub -1 0
- {
- $str cvs dup length
- 4 index
- 0
- 4 index
- 4 3 roll add
- getinterval
- exch 1 index exch 3 index exch
- putinterval
- dup/CMap resourcestatus
- {
- pop pop
- 4 1 roll pop pop pop
- dup/$cmapname exch def
- /CMap findresource/CIDSystemInfo get{def}forall
- $findfontByROS
- true exit
- }
- {pop}
- ifelse
- }
- for
- dup type/booleantype eq
- {pop}
- {pop pop pop $findfontByEnum}
- ifelse
- }
- ifelse
- }
- {pop pop pop $findfontByEnum}
- ifelse
- }
- {pop pop $findfontByEnum}
- ifelse
- }
- ifelse
- }
- ifelse
- }
- {//SubstituteFont exec}
- ifelse
- /$slen 0 def
- end
- }
- }
- {
- {
- $SubstituteFont
- begin
- /$substituteFound true def
- dup length $slen gt
- $sname null ne or
- $slen 0 gt and
- {$findfontByEnum}
- {//SubstituteFont exec}
- ifelse
- end
- }
- }
- ifelse
- bind readonly def
- Adobe_CoolType_Core/scfindfont/systemfindfont load put
- }
- {
- /scfindfont
- {
- $SubstituteFont
- begin
- dup systemfindfont
- dup/FontName known
- {dup/FontName get dup 3 index ne}
- {/noname true}
- ifelse
- dup
- {
- /$origfontnamefound 2 index def
- /$origfontname 4 index def/$substituteFound true def
- }
- if
- exch pop
- {
- $slen 0 gt
- $sname null ne
- 3 index length $slen gt or and
- {
- pop dup $findfontByEnum findfont
- dup maxlength 1 add dict
- begin
- {1 index/FID eq{pop pop}{def}ifelse}
- forall
- currentdict
- end
- definefont
- dup/FontName known{dup/FontName get}{null}ifelse
- $origfontnamefound ne
- {
- $origfontname $str cvs print
- ( substitution revised, using )print
- dup/FontName known
- {dup/FontName get}{(unspecified font)}
- ifelse
- $str cvs print(.\n)print
- }
- if
- }
- {exch pop}
- ifelse
- }
- {exch pop}
- ifelse
- end
- }bind def
- }
- ifelse
- end
- end
- Adobe_CoolType_Core_Defined not
- {
- Adobe_CoolType_Core/findfont
- {
- $SubstituteFont
- begin
- $depth 0 eq
- {
- /$fontname 1 index dup type/stringtype ne{$str cvs}if def
- /$substituteFound false def
- }
- if
- /$depth $depth 1 add def
- end
- scfindfont
- $SubstituteFont
- begin
- /$depth $depth 1 sub def
- $substituteFound $depth 0 eq and
- {
- $inVMIndex null ne
- {dup $inVMIndex $AddInVMFont}
- if
- $doSmartSub
- {
- currentdict/$Strategy known
- {$Strategy/$BuildFont get exec}
- if
- }
- if
- }
- if
- end
- }bind put
- }
- if
- }
- if
- end
-/$AddInVMFont
- {
- exch/FontName 2 copy known
- {
- get
- 1 dict dup begin exch 1 index gcheck def end exch
- Adobe_CoolType_Data/InVMFontsByCMap get exch
- $DictAdd
- }
- {pop pop pop}
- ifelse
- }bind def
-/$DictAdd
- {
- 2 copy known not
- {2 copy 4 index length dict put}
- if
- Level2? not
- {
- 2 copy get dup maxlength exch length 4 index length add lt
- 2 copy get dup length 4 index length add exch maxlength 1 index lt
- {
- 2 mul dict
- begin
- 2 copy get{forall}def
- 2 copy currentdict put
- end
- }
- {pop}
- ifelse
- }
- if
- get
- begin
- {def}
- forall
- end
- }bind def
-end
-end
-%%EndResource
-currentglobal true setglobal
-%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0
-%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated.
-%%Version: 1.23 0
-systemdict/languagelevel known dup
- {currentglobal false setglobal}
- {false}
-ifelse
-exch
-userdict/Adobe_CoolType_Utility 2 copy known
- {2 copy get dup maxlength 27 add dict copy}
- {27 dict}
-ifelse put
-Adobe_CoolType_Utility
- begin
- /@eexecStartData
- <BAB431EA07F209EB8C4348311481D9D3F76E3D15246555577D87BC510ED54E
- 118C39697FA9F6DB58128E60EB8A12FA24D7CDD2FA94D221FA9EC8DA3E5E6A1C
- 4ACECC8C2D39C54E7C946031DD156C3A6B4A09AD29E1867A>def
- /@recognizeCIDFont null def
- /ct_Level2? exch def
- /ct_Clone? 1183615869 internaldict dup
- /CCRun known not
- exch/eCCRun known not
- ct_Level2? and or def
-ct_Level2?
- {globaldict begin currentglobal true setglobal}
-if
- /ct_AddStdCIDMap
- ct_Level2?
- {{
- mark
- Adobe_CoolType_Utility/@recognizeCIDFont currentdict put
- {
- ((Hex)57 StartData
- 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0
- 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60
- d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8
- cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec
- }
- stopped
- {
- cleartomark
- Adobe_CoolType_Utility/@recognizeCIDFont get
- countdictstack dup array dictstack
- exch 1 sub -1 0
- {
- 2 copy get 3 index eq
- {1 index length exch sub 1 sub{end}repeat exit}
- {pop}
- ifelse
- }
- for
- pop pop
- Adobe_CoolType_Utility/@eexecStartData get eexec
- }
- {cleartomark}
- ifelse
- }}
- {{
- Adobe_CoolType_Utility/@eexecStartData get eexec
- }}
- ifelse bind def
-userdict/cid_extensions known
-dup{cid_extensions/cid_UpdateDB known and}if
- {
- cid_extensions
- begin
- /cid_GetCIDSystemInfo
- {
- 1 index type/stringtype eq
- {exch cvn exch}
- if
- cid_extensions
- begin
- dup load 2 index known
- {
- 2 copy
- cid_GetStatusInfo
- dup null ne
- {
- 1 index load
- 3 index get
- dup null eq
- {pop pop cid_UpdateDB}
- {
- exch
- 1 index/Created get eq
- {exch pop exch pop}
- {pop cid_UpdateDB}
- ifelse
- }
- ifelse
- }
- {pop cid_UpdateDB}
- ifelse
- }
- {cid_UpdateDB}
- ifelse
- end
- }bind def
- end
- }
-if
-ct_Level2?
- {end setglobal}
-if
- /ct_UseNativeCapability? systemdict/composefont known def
- /ct_MakeOCF 35 dict def
- /ct_Vars 25 dict def
- /ct_GlyphDirProcs 6 dict def
- /ct_BuildCharDict 15 dict dup
- begin
- /charcode 2 string def
- /dst_string 1500 string def
- /nullstring()def
- /usewidths? true def
- end def
- ct_Level2?{setglobal}{pop}ifelse
- ct_GlyphDirProcs
- begin
- /GetGlyphDirectory
- {
- systemdict/languagelevel known
- {pop/CIDFont findresource/GlyphDirectory get}
- {
- 1 index/CIDFont findresource/GlyphDirectory
- get dup type/dicttype eq
- {
- dup dup maxlength exch length sub 2 index lt
- {
- dup length 2 index add dict copy 2 index
- /CIDFont findresource/GlyphDirectory 2 index put
- }
- if
- }
- if
- exch pop exch pop
- }
- ifelse
- +
- }def
- /+
- {
- systemdict/languagelevel known
- {
- currentglobal false setglobal
- 3 dict begin
- /vm exch def
- }
- {1 dict begin}
- ifelse
- /$ exch def
- systemdict/languagelevel known
- {
- vm setglobal
- /gvm currentglobal def
- $ gcheck setglobal
- }
- if
- ?{$ begin}if
- }def
- /?{$ type/dicttype eq}def
- /|{
- userdict/Adobe_CoolType_Data known
- {
- Adobe_CoolType_Data/AddWidths? known
- {
- currentdict Adobe_CoolType_Data
- begin
- begin
- AddWidths?
- {
- Adobe_CoolType_Data/CC 3 index put
- ?{def}{$ 3 1 roll put}ifelse
- CC charcode exch 1 index 0 2 index 256 idiv put
- 1 index exch 1 exch 256 mod put
- stringwidth 2 array astore
- currentfont/Widths get exch CC exch put
- }
- {?{def}{$ 3 1 roll put}ifelse}
- ifelse
- end
- end
- }
- {?{def}{$ 3 1 roll put}ifelse} ifelse
- }
- {?{def}{$ 3 1 roll put}ifelse}
- ifelse
- }def
- /!
- {
- ?{end}if
- systemdict/languagelevel known
- {gvm setglobal}
- if
- end
- }def
- /:{string currentfile exch readstring pop}executeonly def
- end
- ct_MakeOCF
- begin
- /ct_cHexEncoding
- [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
- /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
- /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
- /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
- /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
- /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
- /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
- /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
- /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
- /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
- /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
- /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
- /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
- /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def
- /ct_CID_STR_SIZE 8000 def
- /ct_mkocfStr100 100 string def
- /ct_defaultFontMtx[.001 0 0 .001 0 0]def
- /ct_1000Mtx[1000 0 0 1000 0 0]def
- /ct_raise{exch cvx exch errordict exch get exec stop}bind def
- /ct_reraise
- {cvx $error/errorname get(Error: )print dup( )cvs print
- errordict exch get exec stop
- }bind def
- /ct_cvnsi
- {
- 1 index add 1 sub 1 exch 0 4 1 roll
- {
- 2 index exch get
- exch 8 bitshift
- add
- }
- for
- exch pop
- }bind def
- /ct_GetInterval
- {
- Adobe_CoolType_Utility/ct_BuildCharDict get
- begin
- /dst_index 0 def
- dup dst_string length gt
- {dup string/dst_string exch def}
- if
- 1 index ct_CID_STR_SIZE idiv
- /arrayIndex exch def
- 2 index arrayIndex get
- 2 index
- arrayIndex ct_CID_STR_SIZE mul
- sub
- {
- dup 3 index add 2 index length le
- {
- 2 index getinterval
- dst_string dst_index 2 index putinterval
- length dst_index add/dst_index exch def
- exit
- }
- {
- 1 index length 1 index sub
- dup 4 1 roll
- getinterval
- dst_string dst_index 2 index putinterval
- pop dup dst_index add/dst_index exch def
- sub
- /arrayIndex arrayIndex 1 add def
- 2 index dup length arrayIndex gt
- {arrayIndex get}
- {
- pop
- exit
- }
- ifelse
- 0
- }
- ifelse
- }
- loop
- pop pop pop
- dst_string 0 dst_index getinterval
- end
- }bind def
- ct_Level2?
- {
- /ct_resourcestatus
- currentglobal mark true setglobal
- {/unknowninstancename/Category resourcestatus}
- stopped
- {cleartomark setglobal true}
- {cleartomark currentglobal not exch setglobal}
- ifelse
- {
- {
- mark 3 1 roll/Category findresource
- begin
- ct_Vars/vm currentglobal put
- ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec
- {cleartomark false}
- {{3 2 roll pop true}{cleartomark false}ifelse}
- ifelse
- ct_Vars/vm get setglobal
- end
- }
- }
- {{resourcestatus}}
- ifelse bind def
- /CIDFont/Category ct_resourcestatus
- {pop pop}
- {
- currentglobal true setglobal
- /Generic/Category findresource
- dup length dict copy
- dup/InstanceType/dicttype put
- /CIDFont exch/Category defineresource pop
- setglobal
- }
- ifelse
- ct_UseNativeCapability?
- {
- /CIDInit/ProcSet findresource begin
- 12 dict begin
- begincmap
- /CIDSystemInfo 3 dict dup begin
- /Registry(Adobe)def
- /Ordering(Identity)def
- /Supplement 0 def
- end def
- /CMapName/Identity-H def
- /CMapVersion 1.000 def
- /CMapType 1 def
- 1 begincodespacerange
- <0000><FFFF>
- endcodespacerange
- 1 begincidrange
- <0000><FFFF>0
- endcidrange
- endcmap
- CMapName currentdict/CMap defineresource pop
- end
- end
- }
- if
- }
- {
- /ct_Category 2 dict begin
- /CIDFont 10 dict def
- /ProcSet 2 dict def
- currentdict
- end
- def
- /defineresource
- {
- ct_Category 1 index 2 copy known
- {
- get
- dup dup maxlength exch length eq
- {
- dup length 10 add dict copy
- ct_Category 2 index 2 index put
- }
- if
- 3 index 3 index put
- pop exch pop
- }
- {pop pop/defineresource/undefined ct_raise}
- ifelse
- }bind def
- /findresource
- {
- ct_Category 1 index 2 copy known
- {
- get
- 2 index 2 copy known
- {get 3 1 roll pop pop}
- {pop pop/findresource/undefinedresource ct_raise}
- ifelse
- }
- {pop pop/findresource/undefined ct_raise}
- ifelse
- }bind def
- /resourcestatus
- {
- ct_Category 1 index 2 copy known
- {
- get
- 2 index known
- exch pop exch pop
- {
- 0 -1 true
- }
- {
- false
- }
- ifelse
- }
- {pop pop/findresource/undefined ct_raise}
- ifelse
- }bind def
- /ct_resourcestatus/resourcestatus load def
- }
- ifelse
- /ct_CIDInit 2 dict
- begin
- /ct_cidfont_stream_init
- {
- {
- dup(Binary)eq
- {
- pop
- null
- currentfile
- ct_Level2?
- {
- {cid_BYTE_COUNT()/SubFileDecode filter}
- stopped
- {pop pop pop}
- if
- }
- if
- /readstring load
- exit
- }
- if
- dup(Hex)eq
- {
- pop
- currentfile
- ct_Level2?
- {
- {null exch/ASCIIHexDecode filter/readstring}
- stopped
- {pop exch pop(>)exch/readhexstring}
- if
- }
- {(>)exch/readhexstring}
- ifelse
- load
- exit
- }
- if
- /StartData/typecheck ct_raise
- }
- loop
- cid_BYTE_COUNT ct_CID_STR_SIZE le
- {
- 2 copy cid_BYTE_COUNT string exch exec
- pop
- 1 array dup
- 3 -1 roll
- 0 exch put
- }
- {
- cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi
- dup array exch 2 sub 0 exch 1 exch
- {
- 2 copy
- 5 index
- ct_CID_STR_SIZE
- string
- 6 index exec
- pop
- put
- pop
- }
- for
- 2 index
- cid_BYTE_COUNT ct_CID_STR_SIZE mod string
- 3 index exec
- pop
- 1 index exch
- 1 index length 1 sub
- exch put
- }
- ifelse
- cid_CIDFONT exch/GlyphData exch put
- 2 index null eq
- {
- pop pop pop
- }
- {
- pop/readstring load
- 1 string exch
- {
- 3 copy exec
- pop
- dup length 0 eq
- {
- pop pop pop pop pop
- true exit
- }
- if
- 4 index
- eq
- {
- pop pop pop pop
- false exit
- }
- if
- }
- loop
- pop
- }
- ifelse
- }bind def
- /StartData
- {
- mark
- {
- currentdict
- dup/FDArray get 0 get/FontMatrix get
- 0 get 0.001 eq
- {
- dup/CDevProc known not
- {
- /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known
- {get}
- {
- pop pop
- {pop pop pop pop pop 0 -1000 7 index 2 div 880}
- }
- ifelse
- def
- }
- if
- }
- {
- /CDevProc
- {
- pop pop pop pop pop
- 0
- 1 cid_temp/cid_CIDFONT get
- /FDArray get 0 get
- /FontMatrix get 0 get div
- 7 index 2 div
- 1 index 0.88 mul
- }def
- }
- ifelse
- /cid_temp 15 dict def
- cid_temp
- begin
- /cid_CIDFONT exch def
- 3 copy pop
- dup/cid_BYTE_COUNT exch def 0 gt
- {
- ct_cidfont_stream_init
- FDArray
- {
- /Private get
- dup/SubrMapOffset known
- {
- begin
- /Subrs SubrCount array def
- Subrs
- SubrMapOffset
- SubrCount
- SDBytes
- ct_Level2?
- {
- currentdict dup/SubrMapOffset undef
- dup/SubrCount undef
- /SDBytes undef
- }
- if
- end
- /cid_SD_BYTES exch def
- /cid_SUBR_COUNT exch def
- /cid_SUBR_MAP_OFFSET exch def
- /cid_SUBRS exch def
- cid_SUBR_COUNT 0 gt
- {
- GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval
- 0 cid_SD_BYTES ct_cvnsi
- 0 1 cid_SUBR_COUNT 1 sub
- {
- exch 1 index
- 1 add
- cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add
- GlyphData exch cid_SD_BYTES ct_GetInterval
- 0 cid_SD_BYTES ct_cvnsi
- cid_SUBRS 4 2 roll
- GlyphData exch
- 4 index
- 1 index
- sub
- ct_GetInterval
- dup length string copy put
- }
- for
- pop
- }
- if
- }
- {pop}
- ifelse
- }
- forall
- }
- if
- cleartomark pop pop
- end
- CIDFontName currentdict/CIDFont defineresource pop
- end end
- }
- stopped
- {cleartomark/StartData ct_reraise}
- if
- }bind def
- currentdict
- end def
- /ct_saveCIDInit
- {
- /CIDInit/ProcSet ct_resourcestatus
- {true}
- {/CIDInitC/ProcSet ct_resourcestatus}
- ifelse
- {
- pop pop
- /CIDInit/ProcSet findresource
- ct_UseNativeCapability?
- {pop null}
- {/CIDInit ct_CIDInit/ProcSet defineresource pop}
- ifelse
- }
- {/CIDInit ct_CIDInit/ProcSet defineresource pop null}
- ifelse
- ct_Vars exch/ct_oldCIDInit exch put
- }bind def
- /ct_restoreCIDInit
- {
- ct_Vars/ct_oldCIDInit get dup null ne
- {/CIDInit exch/ProcSet defineresource pop}
- {pop}
- ifelse
- }bind def
- /ct_BuildCharSetUp
- {
- 1 index
- begin
- CIDFont
- begin
- Adobe_CoolType_Utility/ct_BuildCharDict get
- begin
- /ct_dfCharCode exch def
- /ct_dfDict exch def
- CIDFirstByte ct_dfCharCode add
- dup CIDCount ge
- {pop 0}
- if
- /cid exch def
- {
- GlyphDirectory cid 2 copy known
- {get}
- {pop pop nullstring}
- ifelse
- dup length FDBytes sub 0 gt
- {
- dup
- FDBytes 0 ne
- {0 FDBytes ct_cvnsi}
- {pop 0}
- ifelse
- /fdIndex exch def
- dup length FDBytes sub FDBytes exch getinterval
- /charstring exch def
- exit
- }
- {
- pop
- cid 0 eq
- {/charstring nullstring def exit}
- if
- /cid 0 def
- }
- ifelse
- }
- loop
- }def
- /ct_SetCacheDevice
- {
- 0 0 moveto
- dup stringwidth
- 3 -1 roll
- true charpath
- pathbbox
- 0 -1000
- 7 index 2 div 880
- setcachedevice2
- 0 0 moveto
- }def
- /ct_CloneSetCacheProc
- {
- 1 eq
- {
- stringwidth
- pop -2 div -880
- 0 -1000 setcharwidth
- moveto
- }
- {
- usewidths?
- {
- currentfont/Widths get cid
- 2 copy known
- {get exch pop aload pop}
- {pop pop stringwidth}
- ifelse
- }
- {stringwidth}
- ifelse
- setcharwidth
- 0 0 moveto
- }
- ifelse
- }def
- /ct_Type3ShowCharString
- {
- ct_FDDict fdIndex 2 copy known
- {get}
- {
- currentglobal 3 1 roll
- 1 index gcheck setglobal
- ct_Type1FontTemplate dup maxlength dict copy
- begin
- FDArray fdIndex get
- dup/FontMatrix 2 copy known
- {get}
- {pop pop ct_defaultFontMtx}
- ifelse
- /FontMatrix exch dup length array copy def
- /Private get
- /Private exch def
- /Widths rootfont/Widths get def
- /CharStrings 1 dict dup/.notdef
- <d841272cf18f54fc13>dup length string copy put def
- currentdict
- end
- /ct_Type1Font exch definefont
- dup 5 1 roll put
- setglobal
- }
- ifelse
- dup/CharStrings get 1 index/Encoding get
- ct_dfCharCode get charstring put
- rootfont/WMode 2 copy known
- {get}
- {pop pop 0}
- ifelse
- exch
- 1000 scalefont setfont
- ct_str1 0 ct_dfCharCode put
- ct_str1 exch ct_dfSetCacheProc
- ct_SyntheticBold
- {
- currentpoint
- ct_str1 show
- newpath
- moveto
- ct_str1 true charpath
- ct_StrokeWidth setlinewidth
- stroke
- }
- {ct_str1 show}
- ifelse
- }def
- /ct_Type4ShowCharString
- {
- ct_dfDict ct_dfCharCode charstring
- FDArray fdIndex get
- dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not
- {ct_1000Mtx matrix concatmatrix concat}
- {pop}
- ifelse
- /Private get
- Adobe_CoolType_Utility/ct_Level2? get not
- {
- ct_dfDict/Private
- 3 -1 roll
- {put}
- 1183615869 internaldict/superexec get exec
- }
- if
- 1183615869 internaldict
- Adobe_CoolType_Utility/ct_Level2? get
- {1 index}
- {3 index/Private get mark 6 1 roll}
- ifelse
- dup/RunInt known
- {/RunInt get}
- {pop/CCRun}
- ifelse
- get exec
- Adobe_CoolType_Utility/ct_Level2? get not
- {cleartomark}
- if
- }bind def
- /ct_BuildCharIncremental
- {
- {
- Adobe_CoolType_Utility/ct_MakeOCF get begin
- ct_BuildCharSetUp
- ct_ShowCharString
- }
- stopped
- {stop}
- if
- end
- end
- end
- end
- }bind def
- /BaseFontNameStr(BF00)def
- /ct_Type1FontTemplate 14 dict
- begin
- /FontType 1 def
- /FontMatrix [0.001 0 0 0.001 0 0]def
- /FontBBox [-250 -250 1250 1250]def
- /Encoding ct_cHexEncoding def
- /PaintType 0 def
- currentdict
- end def
- /BaseFontTemplate 11 dict
- begin
- /FontMatrix [0.001 0 0 0.001 0 0]def
- /FontBBox [-250 -250 1250 1250]def
- /Encoding ct_cHexEncoding def
- /BuildChar/ct_BuildCharIncremental load def
- ct_Clone?
- {
- /FontType 3 def
- /ct_ShowCharString/ct_Type3ShowCharString load def
- /ct_dfSetCacheProc/ct_CloneSetCacheProc load def
- /ct_SyntheticBold false def
- /ct_StrokeWidth 1 def
- }
- {
- /FontType 4 def
- /Private 1 dict dup/lenIV 4 put def
- /CharStrings 1 dict dup/.notdef<d841272cf18f54fc13>put def
- /PaintType 0 def
- /ct_ShowCharString/ct_Type4ShowCharString load def
- }
- ifelse
- /ct_str1 1 string def
- currentdict
- end def
- /BaseFontDictSize BaseFontTemplate length 5 add def
- /ct_matrixeq
- {
- true 0 1 5
- {
- dup 4 index exch get exch 3 index exch get eq and
- dup not
- {exit}
- if
- }
- for
- exch pop exch pop
- }bind def
- /ct_makeocf
- {
- 15 dict
- begin
- exch/WMode exch def
- exch/FontName exch def
- /FontType 0 def
- /FMapType 2 def
- dup/FontMatrix known
- {dup/FontMatrix get/FontMatrix exch def}
- {/FontMatrix matrix def}
- ifelse
- /bfCount 1 index/CIDCount get 256 idiv 1 add
- dup 256 gt{pop 256}if def
- /Encoding
- 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for
- bfCount 1 255{2 copy bfCount put pop}for
- def
- /FDepVector bfCount dup 256 lt{1 add}if array def
- BaseFontTemplate BaseFontDictSize dict copy
- begin
- /CIDFont exch def
- CIDFont/FontBBox known
- {CIDFont/FontBBox get/FontBBox exch def}
- if
- CIDFont/CDevProc known
- {CIDFont/CDevProc get/CDevProc exch def}
- if
- currentdict
- end
- BaseFontNameStr 3(0)putinterval
- 0 1 bfCount dup 256 eq{1 sub}if
- {
- FDepVector exch
- 2 index BaseFontDictSize dict copy
- begin
- dup/CIDFirstByte exch 256 mul def
- FontType 3 eq
- {/ct_FDDict 2 dict def}
- if
- currentdict
- end
- 1 index 16
- BaseFontNameStr 2 2 getinterval cvrs pop
- BaseFontNameStr exch definefont
- put
- }
- for
- ct_Clone?
- {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def}
- if
- FontName
- currentdict
- end
- definefont
- ct_Clone?
- {
- gsave
- dup 1000 scalefont setfont
- ct_BuildCharDict
- begin
- /usewidths? false def
- currentfont/Widths get
- begin
- exch/CIDFont get/GlyphDirectory get
- {
- pop
- dup charcode exch 1 index 0 2 index 256 idiv put
- 1 index exch 1 exch 256 mod put
- stringwidth 2 array astore def
- }
- forall
- end
- /usewidths? true def
- end
- grestore
- }
- {exch pop}
- ifelse
- }bind def
- currentglobal true setglobal
- /ct_ComposeFont
- {
- ct_UseNativeCapability?
- {
- 2 index/CMap ct_resourcestatus
- {pop pop exch pop}
- {
- /CIDInit/ProcSet findresource
- begin
- 12 dict
- begin
- begincmap
- /CMapName 3 index def
- /CMapVersion 1.000 def
- /CMapType 1 def
- exch/WMode exch def
- /CIDSystemInfo 3 dict dup
- begin
- /Registry(Adobe)def
- /Ordering
- CMapName ct_mkocfStr100 cvs
- (Adobe-)search
- {
- pop pop
- (-)search
- {
- dup length string copy
- exch pop exch pop
- }
- {pop(Identity)}
- ifelse
- }
- {pop (Identity)}
- ifelse
- def
- /Supplement 0 def
- end def
- 1 begincodespacerange
- <0000><FFFF>
- endcodespacerange
- 1 begincidrange
- <0000><FFFF>0
- endcidrange
- endcmap
- CMapName currentdict/CMap defineresource pop
- end
- end
- }
- ifelse
- composefont
- }
- {
- 3 2 roll pop
- 0 get/CIDFont findresource
- ct_makeocf
- }
- ifelse
- }bind def
- setglobal
- /ct_MakeIdentity
- {
- ct_UseNativeCapability?
- {
- 1 index/CMap ct_resourcestatus
- {pop pop}
- {
- /CIDInit/ProcSet findresource begin
- 12 dict begin
- begincmap
- /CMapName 2 index def
- /CMapVersion 1.000 def
- /CMapType 1 def
- /CIDSystemInfo 3 dict dup
- begin
- /Registry(Adobe)def
- /Ordering
- CMapName ct_mkocfStr100 cvs
- (Adobe-)search
- {
- pop pop
- (-)search
- {dup length string copy exch pop exch pop}
- {pop(Identity)}
- ifelse
- }
- {pop(Identity)}
- ifelse
- def
- /Supplement 0 def
- end def
- 1 begincodespacerange
- <0000><FFFF>
- endcodespacerange
- 1 begincidrange
- <0000><FFFF>0
- endcidrange
- endcmap
- CMapName currentdict/CMap defineresource pop
- end
- end
- }
- ifelse
- composefont
- }
- {
- exch pop
- 0 get/CIDFont findresource
- ct_makeocf
- }
- ifelse
- }bind def
- currentdict readonly pop
- end
- end
-%%EndResource
-setglobal
-%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0
-%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated.
-%%Version: 1.0 0
-userdict/ct_T42Dict 15 dict put
-ct_T42Dict begin
-/Is2015?
-{
- version
- cvi
- 2015
- ge
-}bind def
-/AllocGlyphStorage
-{
- Is2015?
- {
- pop
- }
- {
- {string}forall
- }ifelse
-}bind def
-/Type42DictBegin
-{
-25 dict begin
- /FontName exch def
- /CharStrings 256 dict
-begin
- /.notdef 0 def
- currentdict
-end def
- /Encoding exch def
- /PaintType 0 def
- /FontType 42 def
- /FontMatrix[1 0 0 1 0 0]def
- 4 array astore cvx/FontBBox exch def
- /sfnts
-}bind def
-/Type42DictEnd
-{
- currentdict dup/FontName get exch definefont end
-ct_T42Dict exch
-dup/FontName get exch put
-}bind def
-/RD{string currentfile exch readstring pop}executeonly def
-/PrepFor2015
-{
-Is2015?
-{
- /GlyphDirectory
- 16
- dict def
- sfnts 0 get
- dup
- 2 index
- (glyx)
- putinterval
- 2 index
- (locx)
- putinterval
- pop
- pop
-}
-{
- pop
- pop
-}ifelse
-}bind def
-/AddT42Char
-{
-Is2015?
-{
- /GlyphDirectory get
- begin
- def
- end
- pop
- pop
-}
-{
- /sfnts get
- 4 index
- get
- 3 index
- 2 index
- putinterval
- pop
- pop
- pop
- pop
-}ifelse
-}bind def
-/T0AddT42Mtx2
-{
-/CIDFont findresource/Metrics2 get begin def end
-}bind def
-end
-%%EndResource
-currentglobal true setglobal
-%%BeginFile: MMFauxFont.prc
-%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated.
-%%All Rights Reserved.
-userdict /ct_EuroDict 10 dict put
-ct_EuroDict begin
-/ct_CopyFont
-{
- { 1 index /FID ne {def} {pop pop} ifelse} forall
-} def
-/ct_GetGlyphOutline
-{
- gsave
- initmatrix newpath
- exch findfont dup
- length 1 add dict
- begin
- ct_CopyFont
- /Encoding Encoding dup length array copy
- dup
- 4 -1 roll
- 0 exch put
- def
- currentdict
- end
- /ct_EuroFont exch definefont
- 1000 scalefont setfont
- 0 0 moveto
- [
- <00> stringwidth
- <00> false charpath
- pathbbox
- [
- {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall
- grestore
- counttomark 8 add
-}
-def
-/ct_MakeGlyphProc
-{
- ] cvx
- /ct_PSBuildGlyph cvx
- ] cvx
-} def
-/ct_PSBuildGlyph
-{
- gsave
- 8 -1 roll pop
- 7 1 roll
- 6 -2 roll ct_FontMatrix transform 6 2 roll
- 4 -2 roll ct_FontMatrix transform 4 2 roll
- ct_FontMatrix transform
- currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse
- dup 9 1 roll
- {
- currentdict /StrokeWidth 2 copy known
- {
- get 2 div
- 0 ct_FontMatrix dtransform pop
- 5 1 roll
- 4 -1 roll 4 index sub
- 4 1 roll
- 3 -1 roll 4 index sub
- 3 1 roll
- exch 4 index add exch
- 4 index add
- 5 -1 roll pop
- }
- {
- pop pop
- }
- ifelse
- }
- if
- setcachedevice
- ct_FontMatrix concat
- ct_PSPathOps begin
- exec
- end
- {
- currentdict /StrokeWidth 2 copy known
- { get }
- { pop pop 0 }
- ifelse
- setlinewidth stroke
- }
- {
- fill
- }
- ifelse
- grestore
-} def
-/ct_PSPathOps 4 dict dup begin
- /m {moveto} def
- /l {lineto} def
- /c {curveto} def
- /cp {closepath} def
-end
-def
-/ct_matrix1000 [1000 0 0 1000 0 0] def
-/ct_AddGlyphProc
-{
- 2 index findfont dup length 4 add dict
- begin
- ct_CopyFont
- /CharStrings CharStrings dup length 1 add dict copy
- begin
- 3 1 roll def
- currentdict
- end
- def
- /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def
- /ct_PSBuildGlyph /ct_PSBuildGlyph load def
- /ct_PSPathOps /ct_PSPathOps load def
- currentdict
- end
- definefont pop
-}
-def
-systemdict /languagelevel known
-{
- /ct_AddGlyphToPrinterFont {
- 2 copy
- ct_GetGlyphOutline 3 add -1 roll restore
- ct_MakeGlyphProc
- ct_AddGlyphProc
- } def
-}
-{
- /ct_AddGlyphToPrinterFont {
- pop pop restore
- Adobe_CTFauxDict /$$$FONTNAME get
- /Euro
- Adobe_CTFauxDict /$$$SUBSTITUTEBASE get
- ct_EuroDict exch get
- ct_AddGlyphProc
- } def
-} ifelse
-/AdobeSansMM
-{
-556 0 24 -19 541 703
- {
- 541 628 m
- 510 669 442 703 354 703 c
- 201 703 117 607 101 444 c
- 50 444 l
- 25 372 l
- 97 372 l
- 97 301 l
- 49 301 l
- 24 229 l
- 103 229 l
- 124 67 209 -19 350 -19 c
- 435 -19 501 25 509 32 c
- 509 131 l
- 492 105 417 60 343 60 c
- 267 60 204 127 197 229 c
- 406 229 l
- 430 301 l
- 191 301 l
- 191 372 l
- 455 372 l
- 479 444 l
- 194 444 l
- 201 531 245 624 348 624 c
- 433 624 484 583 509 534 c
- cp
- 556 0 m
- }
-ct_PSBuildGlyph
-} def
-/AdobeSerifMM
-{
-500 0 10 -12 484 692
- {
- 347 298 m
- 171 298 l
- 170 310 170 322 170 335 c
- 170 362 l
- 362 362 l
- 374 403 l
- 172 403 l
- 184 580 244 642 308 642 c
- 380 642 434 574 457 457 c
- 481 462 l
- 474 691 l
- 449 691 l
- 433 670 429 657 410 657 c
- 394 657 360 692 299 692 c
- 204 692 94 604 73 403 c
- 22 403 l
- 10 362 l
- 70 362 l
- 69 352 69 341 69 330 c
- 69 319 69 308 70 298 c
- 22 298 l
- 10 257 l
- 73 257 l
- 97 57 216 -12 295 -12 c
- 364 -12 427 25 484 123 c
- 458 142 l
- 425 101 384 37 316 37 c
- 256 37 189 84 173 257 c
- 335 257 l
- cp
- 500 0 m
- }
-ct_PSBuildGlyph
-} def
-end
-%%EndFile
-setglobal
-Adobe_CoolType_Core begin /$None SetSubstituteStrategy end
-%%BeginResource: procset Adobe_AGM_Image 1.0 0
-%%Version: 1.0 0
-%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved.
-systemdict/setpacking known
-{
- currentpacking
- true setpacking
-}if
-userdict/Adobe_AGM_Image 71 dict dup begin put
-/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def
-/nd{
- null def
-}bind def
-/AGMIMG_&image nd
-/AGMIMG_&colorimage nd
-/AGMIMG_&imagemask nd
-/AGMIMG_mbuf()def
-/AGMIMG_ybuf()def
-/AGMIMG_kbuf()def
-/AGMIMG_c 0 def
-/AGMIMG_m 0 def
-/AGMIMG_y 0 def
-/AGMIMG_k 0 def
-/AGMIMG_tmp nd
-/AGMIMG_imagestring0 nd
-/AGMIMG_imagestring1 nd
-/AGMIMG_imagestring2 nd
-/AGMIMG_imagestring3 nd
-/AGMIMG_imagestring4 nd
-/AGMIMG_imagestring5 nd
-/AGMIMG_cnt nd
-/AGMIMG_fsave nd
-/AGMIMG_colorAry nd
-/AGMIMG_override nd
-/AGMIMG_name nd
-/AGMIMG_maskSource nd
-/AGMIMG_flushfilters nd
-/invert_image_samples nd
-/knockout_image_samples nd
-/img nd
-/sepimg nd
-/devnimg nd
-/idximg nd
-/ds
-{
- Adobe_AGM_Core begin
- Adobe_AGM_Image begin
- /AGMIMG_&image systemdict/image get def
- /AGMIMG_&imagemask systemdict/imagemask get def
- /colorimage where{
- pop
- /AGMIMG_&colorimage/colorimage ldf
- }if
- end
- end
-}def
-/ps
-{
- Adobe_AGM_Image begin
- /AGMIMG_ccimage_exists{/customcolorimage where
- {
- pop
- /Adobe_AGM_OnHost_Seps where
- {
- pop false
- }{
- /Adobe_AGM_InRip_Seps where
- {
- pop false
- }{
- true
- }ifelse
- }ifelse
- }{
- false
- }ifelse
- }bdf
- level2{
- /invert_image_samples
- {
- Adobe_AGM_Image/AGMIMG_tmp Decode length ddf
- /Decode[Decode 1 get Decode 0 get]def
- }def
- /knockout_image_samples
- {
- Operator/imagemask ne{
- /Decode[1 1]def
- }if
- }def
- }{
- /invert_image_samples
- {
- {1 exch sub}currenttransfer addprocs settransfer
- }def
- /knockout_image_samples
- {
- {pop 1}currenttransfer addprocs settransfer
- }def
- }ifelse
- /img/imageormask ldf
- /sepimg/sep_imageormask ldf
- /devnimg/devn_imageormask ldf
- /idximg/indexed_imageormask ldf
- /_ctype 7 def
- currentdict{
- dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{
- bind
- }if
- def
- }forall
-}def
-/pt
-{
- end
-}def
-/dt
-{
-}def
-/AGMIMG_flushfilters
-{
- dup type/arraytype ne
- {1 array astore}if
- dup 0 get currentfile ne
- {dup 0 get flushfile}if
- {
- dup type/filetype eq
- {
- dup status 1 index currentfile ne and
- {closefile}
- {pop}
- ifelse
- }{pop}ifelse
- }forall
-}def
-/AGMIMG_init_common
-{
- currentdict/T known{/ImageType/T ldf currentdict/T undef}if
- currentdict/W known{/Width/W ldf currentdict/W undef}if
- currentdict/H known{/Height/H ldf currentdict/H undef}if
- currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if
- currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if
- currentdict/D known{/Decode/D ldf currentdict/D undef}if
- currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if
- currentdict/O known{
- /Operator/O load 1 eq{
- /imagemask
- }{
- /O load 2 eq{
- /image
- }{
- /colorimage
- }ifelse
- }ifelse
- def
- currentdict/O undef
- }if
- currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if
- currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if
- currentdict/I known{/Interpolate/I ldf currentdict/I undef}if
- currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if
- /DataSource load xcheck not{
- DataSource type/arraytype eq{
- DataSource 0 get type/filetype eq{
- /_Filters DataSource def
- currentdict/MultipleDataSources known not{
- /DataSource DataSource dup length 1 sub get def
- }if
- }if
- }if
- currentdict/MultipleDataSources known not{
- /MultipleDataSources DataSource type/arraytype eq{
- DataSource length 1 gt
- }
- {false}ifelse def
- }if
- }if
- /NComponents Decode length 2 div def
- currentdict/SkipImageProc known not{/SkipImageProc{false}def}if
-}bdf
-/imageormask_sys
-{
- begin
- AGMIMG_init_common
- save mark
- level2{
- currentdict
- Operator/imagemask eq{
- AGMIMG_&imagemask
- }{
- use_mask{
- process_mask AGMIMG_&image
- }{
- AGMIMG_&image
- }ifelse
- }ifelse
- }{
- Width Height
- Operator/imagemask eq{
- Decode 0 get 1 eq Decode 1 get 0 eq and
- ImageMatrix/DataSource load
- AGMIMG_&imagemask
- }{
- BitsPerComponent ImageMatrix/DataSource load
- AGMIMG_&image
- }ifelse
- }ifelse
- currentdict/_Filters known{_Filters AGMIMG_flushfilters}if
- cleartomark restore
- end
-}def
-/overprint_plate
-{
- currentoverprint{
- 0 get dup type/nametype eq{
- dup/DeviceGray eq{
- pop AGMCORE_black_plate not
- }{
- /DeviceCMYK eq{
- AGMCORE_is_cmyk_sep not
- }if
- }ifelse
- }{
- false exch
- {
- AGMOHS_sepink eq or
- }forall
- not
- }ifelse
- }{
- pop false
- }ifelse
-}def
-/process_mask
-{
- level3{
- dup begin
- /ImageType 1 def
- end
- 4 dict begin
- /DataDict exch def
- /ImageType 3 def
- /InterleaveType 3 def
- /MaskDict 9 dict begin
- /ImageType 1 def
- /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def
- /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def
- /ImageMatrix[Width 0 0 Height neg 0 Height]def
- /NComponents 1 def
- /BitsPerComponent 1 def
- /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def
- /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def
- currentdict end def
- currentdict end
- }if
-}def
-/use_mask
-{
- dup/Mask known {dup/Mask get}{false}ifelse
-}def
-/imageormask
-{
- begin
- AGMIMG_init_common
- SkipImageProc{
- currentdict consumeimagedata
- }
- {
- save mark
- level2 AGMCORE_host_sep not and{
- currentdict
- Operator/imagemask eq DeviceN_PS2 not and{
- imagemask
- }{
- AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{
- [/Separation/Black/DeviceGray{}]setcolorspace
- /Decode[Decode 1 get Decode 0 get]def
- }if
- use_mask{
- process_mask image
- }{
- DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and
- {
- Names convert_to_process not{
- 2 dict begin
- /imageDict xdf
- /names_index 0 def
- gsave
- imageDict write_image_file{
- Names{
- dup(None)ne{
- [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace
- Operator imageDict read_image_file
- names_index 0 eq{true setoverprint}if
- /names_index names_index 1 add def
- }{
- pop
- }ifelse
- }forall
- close_image_file
- }if
- grestore
- end
- }{
- Operator/imagemask eq{
- imagemask
- }{
- image
- }ifelse
- }ifelse
- }{
- Operator/imagemask eq{
- imagemask
- }{
- image
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- }{
- Width Height
- Operator/imagemask eq{
- Decode 0 get 1 eq Decode 1 get 0 eq and
- ImageMatrix/DataSource load
- /Adobe_AGM_OnHost_Seps where{
- pop imagemask
- }{
- currentgray 1 ne{
- currentdict imageormask_sys
- }{
- currentoverprint not{
- 1 AGMCORE_&setgray
- currentdict imageormask_sys
- }{
- currentdict ignoreimagedata
- }ifelse
- }ifelse
- }ifelse
- }{
- BitsPerComponent ImageMatrix
- MultipleDataSources{
- 0 1 NComponents 1 sub{
- DataSource exch get
- }for
- }{
- /DataSource load
- }ifelse
- Operator/colorimage eq{
- AGMCORE_host_sep{
- MultipleDataSources level2 or NComponents 4 eq and{
- AGMCORE_is_cmyk_sep{
- MultipleDataSources{
- /DataSource DataSource 0 get xcheck
- {
- [
- DataSource 0 get/exec cvx
- DataSource 1 get/exec cvx
- DataSource 2 get/exec cvx
- DataSource 3 get/exec cvx
- /AGMCORE_get_ink_data cvx
- ]cvx
- }{
- DataSource aload pop AGMCORE_get_ink_data
- }ifelse def
- }{
- /DataSource
- Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul
- /DataSource load
- filter_cmyk 0()/SubFileDecode filter def
- }ifelse
- /Decode[Decode 0 get Decode 1 get]def
- /MultipleDataSources false def
- /NComponents 1 def
- /Operator/image def
- invert_image_samples
- 1 AGMCORE_&setgray
- currentdict imageormask_sys
- }{
- currentoverprint not Operator/imagemask eq and{
- 1 AGMCORE_&setgray
- currentdict imageormask_sys
- }{
- currentdict ignoreimagedata
- }ifelse
- }ifelse
- }{
- MultipleDataSources NComponents AGMIMG_&colorimage
- }ifelse
- }{
- true NComponents colorimage
- }ifelse
- }{
- Operator/image eq{
- AGMCORE_host_sep{
- /DoImage true def
- currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse
- {
- AGMCORE_black_plate not Operator/imagemask ne and{
- /DoImage false def
- currentdict ignoreimagedata
- }if
- }if
- 1 AGMCORE_&setgray
- DoImage
- {currentdict imageormask_sys}if
- }{
- use_mask{
- process_mask image
- }{
- image
- }ifelse
- }ifelse
- }{
- Operator/knockout eq{
- pop pop pop pop pop
- currentcolorspace overprint_plate not{
- knockout_unitsq
- }if
- }if
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- cleartomark restore
- }ifelse
- currentdict/_Filters known{_Filters AGMIMG_flushfilters}if
- end
-}def
-/sep_imageormask
-{
- /sep_colorspace_dict AGMCORE_gget begin
- CSA map_csa
- begin
- AGMIMG_init_common
- SkipImageProc{
- currentdict consumeimagedata
- }{
- save mark
- AGMCORE_avoid_L2_sep_space{
- /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def
- }if
- AGMIMG_ccimage_exists
- MappedCSA 0 get/DeviceCMYK eq and
- currentdict/Components known and
- Name()ne and
- Name(All)ne and
- Operator/image eq and
- AGMCORE_producing_seps not and
- level2 not and
- {
- Width Height BitsPerComponent ImageMatrix
- [
- /DataSource load/exec cvx
- {
- 0 1 2 index length 1 sub{
- 1 index exch
- 2 copy get 255 xor put
- }for
- }/exec cvx
- ]cvx bind
- MappedCSA 0 get/DeviceCMYK eq{
- Components aload pop
- }{
- 0 0 0 Components aload pop 1 exch sub
- }ifelse
- Name findcmykcustomcolor
- customcolorimage
- }{
- AGMCORE_producing_seps not{
- level2{
- //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{
- [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt
- /sep_tint AGMCORE_gget setcolor
- }if
- currentdict imageormask
- }{
- currentdict
- Operator/imagemask eq{
- imageormask
- }{
- sep_imageormask_lev1
- }ifelse
- }ifelse
- }{
- AGMCORE_host_sep{
- Operator/knockout eq{
- currentdict/ImageMatrix get concat
- knockout_unitsq
- }{
- currentgray 1 ne{
- AGMCORE_is_cmyk_sep Name(All)ne and{
- level2{
- Name AGMCORE_IsSeparationAProcessColor
- {
- Operator/imagemask eq{
- //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{
- /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor
- }if
- }{
- invert_image_samples
- }ifelse
- }{
- //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{
- [/Separation Name[/DeviceGray]
- {
- sep_colorspace_proc AGMCORE_get_ink_data
- 1 exch sub
- }bind
- ]AGMCORE_&setcolorspace
- /sep_tint AGMCORE_gget AGMCORE_&setcolor
- }if
- }ifelse
- currentdict imageormask_sys
- }{
- currentdict
- Operator/imagemask eq{
- imageormask_sys
- }{
- sep_image_lev1_sep
- }ifelse
- }ifelse
- }{
- Operator/imagemask ne{
- invert_image_samples
- }if
- currentdict imageormask_sys
- }ifelse
- }{
- currentoverprint not Name(All)eq or Operator/imagemask eq and{
- currentdict imageormask_sys
- }{
- currentoverprint not
- {
- gsave
- knockout_unitsq
- grestore
- }if
- currentdict consumeimagedata
- }ifelse
- }ifelse
- }ifelse
- }{
- //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{
- currentcolorspace 0 get/Separation ne{
- [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt
- /sep_tint AGMCORE_gget setcolor
- }if
- }if
- currentoverprint
- MappedCSA 0 get/DeviceCMYK eq and
- Name AGMCORE_IsSeparationAProcessColor not and
- //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse
- Name(All)ne and{
- imageormask_l2_overprint
- }{
- currentdict imageormask
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- cleartomark restore
- }ifelse
- currentdict/_Filters known{_Filters AGMIMG_flushfilters}if
- end
- end
-}def
-/colorSpaceElemCnt
-{
- mark currentcolor counttomark dup 2 add 1 roll cleartomark
-}bdf
-/devn_sep_datasource
-{
- 1 dict begin
- /dataSource xdf
- [
- 0 1 dataSource length 1 sub{
- dup currentdict/dataSource get/exch cvx/get cvx/exec cvx
- /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx
- }for
- ]cvx bind
- end
-}bdf
-/devn_alt_datasource
-{
- 11 dict begin
- /convProc xdf
- /origcolorSpaceElemCnt xdf
- /origMultipleDataSources xdf
- /origBitsPerComponent xdf
- /origDecode xdf
- /origDataSource xdf
- /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def
- /DataSource origMultipleDataSources
- {
- [
- BitsPerComponent 8 idiv origDecode length 2 idiv mul string
- 0 1 origDecode length 2 idiv 1 sub
- {
- dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch
- origDataSource exch get 0()/SubFileDecode filter
- BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx
- }for
- ]bind cvx
- }{origDataSource}ifelse 0()/SubFileDecode filter def
- [
- origcolorSpaceElemCnt string
- 0 2 origDecode length 2 sub
- {
- dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div
- 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx
- }for
- /convProc load/exec cvx
- origcolorSpaceElemCnt 1 sub -1 0
- {
- /dup cvx 2/add cvx/index cvx
- 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx
- }for
- ]bind cvx 0()/SubFileDecode filter
- end
-}bdf
-/devn_imageormask
-{
- /devicen_colorspace_dict AGMCORE_gget begin
- CSA map_csa
- 2 dict begin
- dup
- /srcDataStrs[3 -1 roll begin
- AGMIMG_init_common
- currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse
- {
- Width Decode length 2 div mul cvi
- {
- dup 65535 gt{1 add 2 div cvi}{exit}ifelse
- }loop
- string
- }repeat
- end]def
- /dstDataStr srcDataStrs 0 get length string def
- begin
- AGMIMG_init_common
- SkipImageProc{
- currentdict consumeimagedata
- }{
- save mark
- AGMCORE_producing_seps not{
- level3 not{
- Operator/imagemask ne{
- /DataSource[[
- DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse
- colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get
- devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def
- /MultipleDataSources true def
- /Decode colorSpaceElemCnt[exch{0 1}repeat]def
- }if
- }if
- currentdict imageormask
- }{
- AGMCORE_host_sep{
- Names convert_to_process{
- CSA get_csa_by_name 0 get/DeviceCMYK eq{
- /DataSource
- Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul
- DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse
- 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get
- devn_alt_datasource
- filter_cmyk 0()/SubFileDecode filter def
- /MultipleDataSources false def
- /Decode[1 0]def
- /DeviceGray setcolorspace
- currentdict imageormask_sys
- }{
- AGMCORE_report_unsupported_color_space
- AGMCORE_black_plate{
- /DataSource
- DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse
- CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get
- devn_alt_datasource
- /MultipleDataSources false def
- /Decode colorSpaceElemCnt[exch{0 1}repeat]def
- currentdict imageormask_sys
- }{
- gsave
- knockout_unitsq
- grestore
- currentdict consumeimagedata
- }ifelse
- }ifelse
- }
- {
- /devicen_colorspace_dict AGMCORE_gget/names_index known{
- Operator/imagemask ne{
- MultipleDataSources{
- /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def
- /MultipleDataSources false def
- }{
- /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def
- }ifelse
- invert_image_samples
- }if
- currentdict imageormask_sys
- }{
- currentoverprint not Operator/imagemask eq and{
- currentdict imageormask_sys
- }{
- currentoverprint not
- {
- gsave
- knockout_unitsq
- grestore
- }if
- currentdict consumeimagedata
- }ifelse
- }ifelse
- }ifelse
- }{
- currentdict imageormask
- }ifelse
- }ifelse
- cleartomark restore
- }ifelse
- currentdict/_Filters known{_Filters AGMIMG_flushfilters}if
- end
- end
- end
-}def
-/imageormask_l2_overprint
-{
- currentdict
- currentcmykcolor add add add 0 eq{
- currentdict consumeimagedata
- }{
- level3{
- currentcmykcolor
- /AGMIMG_k xdf
- /AGMIMG_y xdf
- /AGMIMG_m xdf
- /AGMIMG_c xdf
- Operator/imagemask eq{
- [/DeviceN[
- AGMIMG_c 0 ne{/Cyan}if
- AGMIMG_m 0 ne{/Magenta}if
- AGMIMG_y 0 ne{/Yellow}if
- AGMIMG_k 0 ne{/Black}if
- ]/DeviceCMYK{}]setcolorspace
- AGMIMG_c 0 ne{AGMIMG_c}if
- AGMIMG_m 0 ne{AGMIMG_m}if
- AGMIMG_y 0 ne{AGMIMG_y}if
- AGMIMG_k 0 ne{AGMIMG_k}if
- setcolor
- }{
- /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def
- [/Indexed
- [
- /DeviceN[
- AGMIMG_c 0 ne{/Cyan}if
- AGMIMG_m 0 ne{/Magenta}if
- AGMIMG_y 0 ne{/Yellow}if
- AGMIMG_k 0 ne{/Black}if
- ]
- /DeviceCMYK{
- AGMIMG_k 0 eq{0}if
- AGMIMG_y 0 eq{0 exch}if
- AGMIMG_m 0 eq{0 3 1 roll}if
- AGMIMG_c 0 eq{0 4 1 roll}if
- }
- ]
- 255
- {
- 255 div
- mark exch
- dup dup dup
- AGMIMG_k 0 ne{
- /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop
- counttomark 1 roll
- }{
- pop
- }ifelse
- AGMIMG_y 0 ne{
- /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop
- counttomark 1 roll
- }{
- pop
- }ifelse
- AGMIMG_m 0 ne{
- /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop
- counttomark 1 roll
- }{
- pop
- }ifelse
- AGMIMG_c 0 ne{
- /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop
- counttomark 1 roll
- }{
- pop
- }ifelse
- counttomark 1 add -1 roll pop
- }
- ]setcolorspace
- }ifelse
- imageormask_sys
- }{
- write_image_file{
- currentcmykcolor
- 0 ne{
- [/Separation/Black/DeviceGray{}]setcolorspace
- gsave
- /Black
- [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx]
- cvx modify_halftone_xfer
- Operator currentdict read_image_file
- grestore
- }if
- 0 ne{
- [/Separation/Yellow/DeviceGray{}]setcolorspace
- gsave
- /Yellow
- [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx]
- cvx modify_halftone_xfer
- Operator currentdict read_image_file
- grestore
- }if
- 0 ne{
- [/Separation/Magenta/DeviceGray{}]setcolorspace
- gsave
- /Magenta
- [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx]
- cvx modify_halftone_xfer
- Operator currentdict read_image_file
- grestore
- }if
- 0 ne{
- [/Separation/Cyan/DeviceGray{}]setcolorspace
- gsave
- /Cyan
- [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx]
- cvx modify_halftone_xfer
- Operator currentdict read_image_file
- grestore
- }if
- close_image_file
- }{
- imageormask
- }ifelse
- }ifelse
- }ifelse
-}def
-/indexed_imageormask
-{
- begin
- AGMIMG_init_common
- save mark
- currentdict
- AGMCORE_host_sep{
- Operator/knockout eq{
- /indexed_colorspace_dict AGMCORE_gget dup/CSA known{
- /CSA get get_csa_by_name
- }{
- /Names get
- }ifelse
- overprint_plate not{
- knockout_unitsq
- }if
- }{
- Indexed_DeviceN{
- /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{
- indexed_image_lev2_sep
- }{
- currentoverprint not{
- knockout_unitsq
- }if
- currentdict consumeimagedata
- }ifelse
- }{
- AGMCORE_is_cmyk_sep{
- Operator/imagemask eq{
- imageormask_sys
- }{
- level2{
- indexed_image_lev2_sep
- }{
- indexed_image_lev1_sep
- }ifelse
- }ifelse
- }{
- currentoverprint not{
- knockout_unitsq
- }if
- currentdict consumeimagedata
- }ifelse
- }ifelse
- }ifelse
- }{
- level2{
- Indexed_DeviceN{
- /indexed_colorspace_dict AGMCORE_gget begin
- }{
- /indexed_colorspace_dict AGMCORE_gget dup null ne
- {
- begin
- currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse
- get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and
- AGMCORE_in_rip_sep and{
- [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup]
- setcolorspace
- }if
- end
- }
- {pop}ifelse
- }ifelse
- imageormask
- Indexed_DeviceN{
- end
- }if
- }{
- Operator/imagemask eq{
- imageormask
- }{
- indexed_imageormask_lev1
- }ifelse
- }ifelse
- }ifelse
- cleartomark restore
- currentdict/_Filters known{_Filters AGMIMG_flushfilters}if
- end
-}def
-/indexed_image_lev2_sep
-{
- /indexed_colorspace_dict AGMCORE_gget begin
- begin
- Indexed_DeviceN not{
- currentcolorspace
- dup 1/DeviceGray put
- dup 3
- currentcolorspace 2 get 1 add string
- 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub
- {
- dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put
- }for
- put setcolorspace
- }if
- currentdict
- Operator/imagemask eq{
- AGMIMG_&imagemask
- }{
- use_mask{
- process_mask AGMIMG_&image
- }{
- AGMIMG_&image
- }ifelse
- }ifelse
- end end
-}def
- /OPIimage
- {
- dup type/dicttype ne{
- 10 dict begin
- /DataSource xdf
- /ImageMatrix xdf
- /BitsPerComponent xdf
- /Height xdf
- /Width xdf
- /ImageType 1 def
- /Decode[0 1 def]
- currentdict
- end
- }if
- dup begin
- /NComponents 1 cdndf
- /MultipleDataSources false cdndf
- /SkipImageProc{false}cdndf
- /Decode[
- 0
- currentcolorspace 0 get/Indexed eq{
- 2 BitsPerComponent exp 1 sub
- }{
- 1
- }ifelse
- ]cdndf
- /Operator/image cdndf
- end
- /sep_colorspace_dict AGMCORE_gget null eq{
- imageormask
- }{
- gsave
- dup begin invert_image_samples end
- sep_imageormask
- grestore
- }ifelse
- }def
-/cachemask_level2
-{
- 3 dict begin
- /LZWEncode filter/WriteFilter xdf
- /readBuffer 256 string def
- /ReadFilter
- currentfile
- 0(%EndMask)/SubFileDecode filter
- /ASCII85Decode filter
- /RunLengthDecode filter
- def
- {
- ReadFilter readBuffer readstring exch
- WriteFilter exch writestring
- not{exit}if
- }loop
- WriteFilter closefile
- end
-}def
-/spot_alias
-{
- /mapto_sep_imageormask
- {
- dup type/dicttype ne{
- 12 dict begin
- /ImageType 1 def
- /DataSource xdf
- /ImageMatrix xdf
- /BitsPerComponent xdf
- /Height xdf
- /Width xdf
- /MultipleDataSources false def
- }{
- begin
- }ifelse
- /Decode[/customcolor_tint AGMCORE_gget 0]def
- /Operator/image def
- /SkipImageProc{false}def
- currentdict
- end
- sep_imageormask
- }bdf
- /customcolorimage
- {
- Adobe_AGM_Image/AGMIMG_colorAry xddf
- /customcolor_tint AGMCORE_gget
- <<
- /Name AGMIMG_colorAry 4 get
- /CSA[/DeviceCMYK]
- /TintMethod/Subtractive
- /TintProc null
- /MappedCSA null
- /NComponents 4
- /Components[AGMIMG_colorAry aload pop pop]
- >>
- setsepcolorspace
- mapto_sep_imageormask
- }ndf
- Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put
- /customcolorimage
- {
- Adobe_AGM_Image/AGMIMG_override false put
- current_spot_alias{dup 4 get map_alias}{false}ifelse
- {
- false set_spot_alias
- /customcolor_tint AGMCORE_gget exch setsepcolorspace
- pop
- mapto_sep_imageormask
- true set_spot_alias
- }{
- //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec
- }ifelse
- }bdf
-}def
-/snap_to_device
-{
- 6 dict begin
- matrix currentmatrix
- dup 0 get 0 eq 1 index 3 get 0 eq and
- 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop
- {
- 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def
- 0 0 transform
- AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch
- AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch
- itransform/AGMIMG_llY exch def/AGMIMG_llX exch def
- 1 1 transform
- AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch
- AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch
- itransform/AGMIMG_urY exch def/AGMIMG_urX exch def
- [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat
- }{
- }ifelse
- end
-}def
-level2 not{
- /colorbuf
- {
- 0 1 2 index length 1 sub{
- dup 2 index exch get
- 255 exch sub
- 2 index
- 3 1 roll
- put
- }for
- }def
- /tint_image_to_color
- {
- begin
- Width Height BitsPerComponent ImageMatrix
- /DataSource load
- end
- Adobe_AGM_Image begin
- /AGMIMG_mbuf 0 string def
- /AGMIMG_ybuf 0 string def
- /AGMIMG_kbuf 0 string def
- {
- colorbuf dup length AGMIMG_mbuf length ne
- {
- dup length dup dup
- /AGMIMG_mbuf exch string def
- /AGMIMG_ybuf exch string def
- /AGMIMG_kbuf exch string def
- }if
- dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop
- }
- addprocs
- {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage
- end
- }def
- /sep_imageormask_lev1
- {
- begin
- MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{
- {
- 255 mul round cvi GrayLookup exch get
- }currenttransfer addprocs settransfer
- currentdict imageormask
- }{
- /sep_colorspace_dict AGMCORE_gget/Components known{
- MappedCSA 0 get/DeviceCMYK eq{
- Components aload pop
- }{
- 0 0 0 Components aload pop 1 exch sub
- }ifelse
- Adobe_AGM_Image/AGMIMG_k xddf
- Adobe_AGM_Image/AGMIMG_y xddf
- Adobe_AGM_Image/AGMIMG_m xddf
- Adobe_AGM_Image/AGMIMG_c xddf
- AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{
- {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer
- currentdict imageormask
- }{
- currentcolortransfer
- {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll
- {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll
- {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll
- {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll
- setcolortransfer
- currentdict tint_image_to_color
- }ifelse
- }{
- MappedCSA 0 get/DeviceGray eq{
- {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer
- currentdict imageormask
- }{
- MappedCSA 0 get/DeviceCMYK eq{
- currentcolortransfer
- {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll
- {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll
- {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll
- {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll
- setcolortransfer
- currentdict tint_image_to_color
- }{
- currentcolortransfer
- {pop 1}exch addprocs 4 1 roll
- {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll
- {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll
- {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll
- setcolortransfer
- currentdict tint_image_to_color
- }ifelse
- }ifelse
- }ifelse
- }ifelse
- end
- }def
- /sep_image_lev1_sep
- {
- begin
- /sep_colorspace_dict AGMCORE_gget/Components known{
- Components aload pop
- Adobe_AGM_Image/AGMIMG_k xddf
- Adobe_AGM_Image/AGMIMG_y xddf
- Adobe_AGM_Image/AGMIMG_m xddf
- Adobe_AGM_Image/AGMIMG_c xddf
- {AGMIMG_c mul 1 exch sub}
- {AGMIMG_m mul 1 exch sub}
- {AGMIMG_y mul 1 exch sub}
- {AGMIMG_k mul 1 exch sub}
- }{
- {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}
- {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}
- {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}
- {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}
- }ifelse
- AGMCORE_get_ink_data currenttransfer addprocs settransfer
- currentdict imageormask_sys
- end
- }def
- /indexed_imageormask_lev1
- {
- /indexed_colorspace_dict AGMCORE_gget begin
- begin
- currentdict
- MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{
- {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer
- imageormask
- }{
- MappedCSA 0 get/DeviceGray eq{
- {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer
- imageormask
- }{
- MappedCSA 0 get/DeviceCMYK eq{
- currentcolortransfer
- {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll
- {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll
- {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll
- {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll
- setcolortransfer
- tint_image_to_color
- }{
- currentcolortransfer
- {pop 1}exch addprocs 4 1 roll
- {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll
- {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll
- {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll
- setcolortransfer
- tint_image_to_color
- }ifelse
- }ifelse
- }ifelse
- end end
- }def
- /indexed_image_lev1_sep
- {
- /indexed_colorspace_dict AGMCORE_gget begin
- begin
- {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}
- {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}
- {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}
- {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}
- AGMCORE_get_ink_data currenttransfer addprocs settransfer
- currentdict imageormask_sys
- end end
- }def
-}if
-end
-systemdict/setpacking known
-{setpacking}if
-%%EndResource
-currentdict Adobe_AGM_Utils eq {end} if
-%%EndProlog
-%%BeginSetup
-Adobe_AGM_Utils begin
-2 2010 Adobe_AGM_Core/ds gx
-Adobe_CoolType_Core/ds get exec
-Adobe_AGM_Image/ds gx
-[/NamespacePush pdfmark_5
-[/_objdef {Doc_Metadata} /type /stream /OBJ pdfmark_5
-[{Doc_Metadata} 1281 (% &end XMP packet& %) ReadBypdfmark_5_string
-<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.2-c001 63.139439, 2010/09/27-13:37:26 ">
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdf:Description rdf:about=""
- xmlns:xmp="http://ns.adobe.com/xap/1.0/"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
- xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
- xmp:ModifyDate="2011-04-08T15:21:07-05:00"
- xmp:CreateDate="2011-04-08T15:21:07-05:00"
- xmp:MetadataDate="2011-04-08T15:21:07-05:00"
- xmp:CreatorTool="DVIPSONE 2.3.4.149 http://www.YandY.com"
- dc:format="application/pdf"
- xmpMM:DocumentID="uuid:4672a2a6-f2a2-46c1-a618-bae4e40b5b67"
- xmpMM:InstanceID="uuid:840d3c6d-0825-497a-9944-212dd7f55635"
- pdf:Producer="Acrobat Distiller 10.0.1 (Windows)">
- <dc:title>
- <rdf:Alt>
- <rdf:li xml:lang="x-default">test03</rdf:li>
- </rdf:Alt>
- </dc:title>
- <dc:description>
- <rdf:Alt>
- <rdf:li xml:lang="x-default">TeX output 2011.04.08:1517</rdf:li>
- </rdf:Alt>
- </dc:description>
- <dc:creator>
- <rdf:Seq>
- <rdf:li>Donald Story (Complimentary Copy) 4662 2009-10-23 13:17:17</rdf:li>
- </rdf:Seq>
- </dc:creator>
- </rdf:Description>
- </rdf:RDF>
-</x:xmpmeta>
+%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: Windows Roman +%%Title: graph.pdf +%%Creator: Adobe Acrobat 10.0.1 +%%For: D. P. Story +%%CreationDate: 4/8/2011, 3:22:12 PM +%%BoundingBox: -1 0 257 195 +%%HiResBoundingBox: 0 0 256.7930 194.9510 +%%CropBox: 0 0 256.7930 194.9510 +%%LanguageLevel: 2 +%%DocumentNeededResources: (atend) +%%DocumentSuppliedResources: (atend) +%%DocumentNeededFeatures: (atend) +%%DocumentSuppliedFeatures: (atend) +%%DocumentData: Clean7Bit +%%Pages: (atend) +%%DocumentProcessColors: Black +%%DocumentCustomColors: (atend) +%%EndComments +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{currentpacking true setpacking}if +userdict/Adobe_AGM_Utils 75 dict dup begin put +/bdf +{bind def}bind def +/nd{null def}bdf +/xdf +{exch def}bdf +/ldf +{load def}bdf +/ddf +{put}bdf +/xddf +{3 -1 roll put}bdf +/xpt +{exch put}bdf +/ndf +{ + exch dup where{ + pop pop pop + }{ + xdf + }ifelse +}def +/cdndf +{ + exch dup currentdict exch known{ + pop pop + }{ + exch def + }ifelse +}def +/gx +{get exec}bdf +/ps_level + /languagelevel where{ + pop systemdict/languagelevel gx + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr}stopped{-1}if +def +/set_gvm +{currentglobal exch setglobal}bdf +/reset_gvm +{setglobal}bdf +/makereadonlyarray +{ + /packedarray where{pop packedarray + }{ + array astore readonly}ifelse +}bdf +/map_reserved_ink_name +{ + dup type/stringtype eq{ + dup/Red eq{ + pop(_Red_) + }{ + dup/Green eq{ + pop(_Green_) + }{ + dup/Blue eq{ + pop(_Blue_) + }{ + dup()cvn eq{ + pop(Process) + }if + }ifelse + }ifelse + }ifelse + }if +}bdf +/AGMUTIL_GSTATE 22 dict def +/get_gstate +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_clr_spc currentcolorspace def + /AGMUTIL_GSTATE_clr_indx 0 def + /AGMUTIL_GSTATE_clr_comps 12 array def + mark currentcolor counttomark + {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop + /AGMUTIL_GSTATE_fnt rootfont def + /AGMUTIL_GSTATE_lw currentlinewidth def + /AGMUTIL_GSTATE_lc currentlinecap def + /AGMUTIL_GSTATE_lj currentlinejoin def + /AGMUTIL_GSTATE_ml currentmiterlimit def + currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf + /AGMUTIL_GSTATE_sa currentstrokeadjust def + /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def + /AGMUTIL_GSTATE_op currentoverprint def + /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def + /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def + currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf + cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf + /AGMUTIL_GSTATE_ht currenthalftone def + /AGMUTIL_GSTATE_flt currentflat def + end +}def +/set_gstate +{ + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_clr_spc setcolorspace + AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor + AGMUTIL_GSTATE_fnt setfont + AGMUTIL_GSTATE_lw setlinewidth + AGMUTIL_GSTATE_lc setlinecap + AGMUTIL_GSTATE_lj setlinejoin + AGMUTIL_GSTATE_ml setmiterlimit + AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash + AGMUTIL_GSTATE_sa setstrokeadjust + AGMUTIL_GSTATE_clr_rnd setcolorrendering + AGMUTIL_GSTATE_op setoverprint + AGMUTIL_GSTATE_bg cvx setblackgeneration + AGMUTIL_GSTATE_ucr cvx setundercolorremoval + AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx + AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer + AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or + { + currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne + { + mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark + }if + }{ + AGMUTIL_GSTATE_ht sethalftone + }ifelse + AGMUTIL_GSTATE_flt setflat + end +}def +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/AGMUTIL_cpd nd +/capture_cpd{ + //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf +}def +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup/HalftoneType get 3 eq + { + sethalftone currenthalftone + }{ + begin + Width Height mul{ + Thresholds read{pop}if + }repeat + end + currenthalftone + }ifelse + }ifelse +}def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%)anchorsearch{pop}if +}bdf +/filter_cmyk +{ + dup type/filetype ne{ + exch()/SubFileDecode filter + }{ + exch pop + } + ifelse + [ + exch + { + AGMUTIL_src256 readstring pop + dup length/AGMUTIL_srcLen exch def + /AGMUTIL_ndx 0 def + AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ + 1 index exch get + AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put + /AGMUTIL_ndx AGMUTIL_ndx 1 add def + }for + pop + AGMUTIL_dst64 0 AGMUTIL_ndx getinterval + } + bind + /exec cvx + ]cvx +}bdf +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +}bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type/filetype ne{ + 0()/SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx + currentdict/srcStr get/readstring cvx/pop cvx + /dup cvx/length cvx 0/gt cvx[ + Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx + names_index Names length currentdict/srcStr get length 1 sub{ + 1/index cvx/exch cvx/get cvx + currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx + Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx + }for + currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx + ]cvx/if cvx + /end cvx + ]cvx + bind + /exec cvx + ]cvx + end +}bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict/DataSource get def + /origMultipleDataSources imageDict/MultipleDataSources get def + /origDecode imageDict/Decode get def + /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def + imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse + { + /imbufCnt imageDict/DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub{ + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put + }for + DeviceN_PS2{ + imageDict begin + /DataSource[DataSource/devn_sep_datasource cvx]cvx def + /MultipleDataSources false def + /Decode[0 1]def + end + }if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or{ + /srcDataStrs[imageDict begin + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi string + }repeat + end]def + imageDict begin + /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def + /Decode[0 1]def + end + }{ + imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put + imageDict/Decode[0 1]put + }ifelse + }ifelse + imageDict exch + load exec + imageDict/DataSource origDataSource put + imageDict/MultipleDataSources origMultipleDataSources put + imageDict/Decode origDecode put + end +}bdf +/write_image_file +{ + begin + {(AGMUTIL_imagefile)(w+)file}stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources{ + 0 1 DataSource length 1 sub{ + DataSource type dup + /arraytype eq{ + pop DataSource exch gx + }{ + /filetype eq{ + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }for + }{ + DataSource type dup + /arraytype eq{ + pop DataSource exec + }{ + /filetype eq{ + DataSource imbuf readstring pop + }{ + DataSource + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }ifelse + }for + end + true + }ifelse + end +}bdf +/close_image_file +{ + AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile +}def +statusdict/product known userdict/AGMP_current_show known not and{ + /pstr statusdict/product get def + pstr(HP LaserJet 2200)eq + pstr(HP LaserJet 4000 Series)eq or + pstr(HP LaserJet 4050 Series )eq or + pstr(HP LaserJet 8000 Series)eq or + pstr(HP LaserJet 8100 Series)eq or + pstr(HP LaserJet 8150 Series)eq or + pstr(HP LaserJet 5000 Series)eq or + pstr(HP LaserJet 5100 Series)eq or + pstr(HP Color LaserJet 4500)eq or + pstr(HP Color LaserJet 4600)eq or + pstr(HP LaserJet 5Si)eq or + pstr(HP LaserJet 1200 Series)eq or + pstr(HP LaserJet 1300 Series)eq or + pstr(HP LaserJet 4100 Series)eq or + { + userdict/AGMP_current_show/show load put + userdict/show{ + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show}ifelse + }put + }if + currentdict/pstr undef +}if +/consumeimagedata +{ + begin + AGMIMG_init_common + currentdict/MultipleDataSources known not + {/MultipleDataSources false def}if + MultipleDataSources + { + DataSource 0 get type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch gx length exch 0 ne{pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height{pop DataSource flushbuffer readstring pop pop}for + end + }if + dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + }ifelse + end +}bdf +/addprocs +{ + 2{/exec load}repeat + 3 1 roll + [5 1 roll]bind cvx +}def +/modify_halftone_xfer +{ + currenthalftone dup length dict copy begin + currentdict 2 index known{ + 1 index load dup length dict copy begin + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end def + currentdict end sethalftone + }{ + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end sethalftone + pop + }ifelse +}def +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type/dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + dup type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch{cvx}if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type/dicttype eq + {clonedict}if + dup type/arraytype eq + {clonearray}if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and +}bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne{ + dup/CSDBase known{ + /CSDBase get/CSD get_res/Names known + }{ + pop false + }ifelse + }{ + pop false + }ifelse +}bdf +/DeviceN_NoneName +{ + /Names where{ + pop + false Names + { + (None)eq or + }forall + }{ + false + }ifelse +}bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + }{ + true + }ifelse + }{ + true + }ifelse + }{ + true + }ifelse +}bdf +/base_colorspace_type +{ + dup type/arraytype eq{0 get}if +}bdf +/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5{cleartomark}bind def +}{ + /pdfmark_5{pdfmark}bind def +}ifelse +/ReadBypdfmark_5 +{ + currentfile exch 0 exch/SubFileDecode filter + /currentdistillerparams where + {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse + {flushfile cleartomark} + {/PUT pdfmark}ifelse +}bdf +/ReadBypdfmark_5_string +{ + 2 dict begin + /makerString exch def string/tmpString exch def + { + currentfile tmpString readline not{pop exit}if + makerString anchorsearch + { + pop pop cleartomark exit + }{ + 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 + }ifelse + }loop + end +}bdf +/xpdfm +{ + { + dup 0 get/Label eq + { + aload length[exch 1 add 1 roll/PAGELABEL + }{ + aload pop + [{ThisPage}<<5 -2 roll>>/PUT + }ifelse + pdfmark_5 + }forall +}bdf +/lmt{ + dup 2 index le{exch}if pop dup 2 index ge{exch}if pop +}bdf +/int{ + dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop +}bdf +/ds{ + Adobe_AGM_Utils begin +}bdf +/dt{ + currentdict Adobe_AGM_Utils eq{ + end + }if +}bdf +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_AGM_Core 2.0 0 +%%Version: 2.0 0 +%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Core 209 dict dup begin put +/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 256 string def +/AGMCORE_save nd +/AGMCORE_graphicsave nd +/AGMCORE_c 0 def +/AGMCORE_m 0 def +/AGMCORE_y 0 def +/AGMCORE_k 0 def +/AGMCORE_cmykbuf 4 array def +/AGMCORE_screen[currentscreen]cvx def +/AGMCORE_tmp 0 def +/AGMCORE_&setgray nd +/AGMCORE_&setcolor nd +/AGMCORE_&setcolorspace nd +/AGMCORE_&setcmykcolor nd +/AGMCORE_cyan_plate nd +/AGMCORE_magenta_plate nd +/AGMCORE_yellow_plate nd +/AGMCORE_black_plate nd +/AGMCORE_plate_ndx nd +/AGMCORE_get_ink_data nd +/AGMCORE_is_cmyk_sep nd +/AGMCORE_host_sep nd +/AGMCORE_avoid_L2_sep_space nd +/AGMCORE_distilling nd +/AGMCORE_composite_job nd +/AGMCORE_producing_seps nd +/AGMCORE_ps_level -1 def +/AGMCORE_ps_version -1 def +/AGMCORE_environ_ok nd +/AGMCORE_CSD_cache 0 dict def +/AGMCORE_currentoverprint false def +/AGMCORE_deltaX nd +/AGMCORE_deltaY nd +/AGMCORE_name nd +/AGMCORE_sep_special nd +/AGMCORE_err_strings 4 dict def +/AGMCORE_cur_err nd +/AGMCORE_current_spot_alias false def +/AGMCORE_inverting false def +/AGMCORE_feature_dictCount nd +/AGMCORE_feature_opCount nd +/AGMCORE_feature_ctm nd +/AGMCORE_ConvertToProcess false def +/AGMCORE_Default_CTM matrix def +/AGMCORE_Default_PageSize nd +/AGMCORE_Default_flatness nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_pattern_paint_type 0 def +/knockout_unitsq nd +currentglobal true setglobal +[/CSA/Gradient/Procedure] +{ + /Generic/Category findresource dup length dict copy/Category defineresource pop +}forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /CompareBuffer 3 -1 roll def + /readbuffer 256 string def + mark + { + currentfile readbuffer{readline}stopped + {cleartomark mark} + { + not + {pop exit} + if + CompareBuffer eq + {exit} + if + }ifelse + }loop + cleartomark + end + restore +}bdf +/getspotfunction +{ + AGMCORE_screen exch pop exch pop + dup type/dicttype eq{ + dup/HalftoneType get 1 eq{ + /SpotFunction get + }{ + dup/HalftoneType get 2 eq{ + /GraySpotFunction get + }{ + pop + { + abs exch abs 2 copy add 1 gt{ + 1 sub dup mul exch 1 sub dup mul add 1 sub + }{ + dup mul exch dup mul add 1 exch sub + }ifelse + }bind + }ifelse + }ifelse + }if +}def +/np +{newpath}bdf +/clp_npth +{clip np}def +/eoclp_npth +{eoclip np}def +/npth_clp +{np clip}def +/graphic_setup +{ + /AGMCORE_graphicsave save store + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + []0 setdash + 10 setmiterlimit + np + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias gx + /Adobe_AGM_Image where{ + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + gx + }{ + pop pop + }ifelse + }if + /sep_colorspace_dict null AGMCORE_gput + 100 dict begin + /dictstackcount countdictstack def + /showpage{}def + mark +}def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub{end}for + end + AGMCORE_graphicsave restore +}def +/compose_error_msg +{ + grestoreall initgraphics + /Helvetica findfont 10 scalefont setfont + /AGMCORE_deltaY 100 def + /AGMCORE_deltaX 310 def + clippath pathbbox np pop pop 36 add exch 36 add exch moveto + 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto + 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath + 0 AGMCORE_&setgray + gsave 1 AGMCORE_&setgray fill grestore + 1 setlinewidth gsave stroke grestore + currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto + /AGMCORE_deltaY 12 def + /AGMCORE_tmp 0 def + AGMCORE_err_strings exch get + { + dup 32 eq + { + pop + AGMCORE_str256 0 AGMCORE_tmp getinterval + stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt + { + currentpoint AGMCORE_deltaY sub exch pop + clippath pathbbox pop pop pop 44 add exch moveto + }if + AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show + 0 1 AGMCORE_str256 length 1 sub + { + AGMCORE_str256 exch 0 put + }for + /AGMCORE_tmp 0 def + }{ + AGMCORE_str256 exch AGMCORE_tmp xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + }ifelse + }forall +}bdf +/AGMCORE_CMYKDeviceNColorspaces[ + [/Separation/None/DeviceCMYK{0 0 0}] + [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] + [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] + [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] + [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] + [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] + [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] + [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] + [/Separation(Cyan)/DeviceCMYK{0 0 0}] + [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] + [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] + [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] + [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] + [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] + [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] + [/DeviceCMYK] +]def +/ds{ + Adobe_AGM_Core begin + /currentdistillerparams where + { + pop currentdistillerparams/CoreDistVersion get 5000 lt + {<</DetectBlends false>>setdistillerparams}if + }if + /AGMCORE_ps_version xdf + /AGMCORE_ps_level xdf + errordict/AGM_handleerror known not{ + errordict/AGM_handleerror errordict/handleerror get put + errordict/handleerror{ + Adobe_AGM_Core begin + $error/newerror get AGMCORE_cur_err null ne and{ + $error/newerror false put + AGMCORE_cur_err compose_error_msg + }if + $error/newerror true put + end + errordict/AGM_handleerror get exec + }bind put + }if + /AGMCORE_environ_ok + ps_level AGMCORE_ps_level ge + ps_version AGMCORE_ps_version ge and + AGMCORE_ps_level -1 eq or + def + AGMCORE_environ_ok not + {/AGMCORE_cur_err/AGMCORE_bad_environ def}if + /AGMCORE_&setgray systemdict/setgray get def + level2{ + /AGMCORE_&setcolor systemdict/setcolor get def + /AGMCORE_&setcolorspace systemdict/setcolorspace get def + }if + /AGMCORE_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_Default_flatness currentflat def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 32 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 14 def + /AGMCORE_&gsave/gsave ldf + /AGMCORE_&grestore/grestore ldf + /AGMCORE_&grestoreall/grestoreall ldf + /AGMCORE_&save/save ldf + /AGMCORE_&setoverprint/setoverprint ldf + /AGMCORE_gdictcopy{ + begin + {def}forall + end + }def + /AGMCORE_gput{ + AGMCORE_gstack AGMCORE_gstackptr get + 3 1 roll + put + }def + /AGMCORE_gget{ + AGMCORE_gstack AGMCORE_gstackptr get + exch + get + }def + /gsave{ + AGMCORE_&gsave + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore{ + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt{1 add}if + dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall{ + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save{ + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub{ + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + }for + }if + level3/AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern/makepattern load def + }if + /currentcmykcolor[0 0 0 0]AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace[/DeviceGray]AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent()AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + /absolute_colorimetric_crd null AGMCORE_gput + /relative_colorimetric_crd null AGMCORE_gput + /saturation_crd null AGMCORE_gput + /perceptual_crd null AGMCORE_gput + currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf + cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf + << + /MaxPatternItem currentsystemparams/MaxPatternCache get + >> + setuserparams + end +}def +/ps +{ + /setcmykcolor where{ + pop + Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put + }if + Adobe_AGM_Core begin + /setcmykcolor + { + 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput + 1 sub 4 1 roll + 3{ + 3 index add neg dup 0 lt{ + pop 0 + }if + 3 1 roll + }repeat + setrgbcolor pop + }ndf + /currentcmykcolor + { + /currentcmykcolor AGMCORE_gget aload pop + }ndf + /setoverprint + {pop}ndf + /currentoverprint + {false}ndf + /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def + /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def + /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def + /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def + /AGMCORE_plate_ndx + AGMCORE_cyan_plate{ + 0 + }{ + AGMCORE_magenta_plate{ + 1 + }{ + AGMCORE_yellow_plate{ + 2 + }{ + AGMCORE_black_plate{ + 3 + }{ + 4 + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== + Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf + }if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def + /AGMCORE_in_rip_sep + /AGMCORE_in_rip_sep where{ + pop AGMCORE_in_rip_sep + }{ + AGMCORE_distilling + { + false + }{ + userdict/Adobe_AGM_OnHost_Seps known{ + false + }{ + level2{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def + /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def + /AGM_preserve_spots + /AGM_preserve_spots where{ + pop AGM_preserve_spots + }{ + AGMCORE_distilling AGMCORE_producing_seps or + }ifelse + def + /AGM_is_distiller_preserving_spotimages + { + currentdistillerparams/PreserveOverprintSettings known + { + currentdistillerparams/PreserveOverprintSettings get + { + currentdistillerparams/ColorConversionStrategy known + { + currentdistillerparams/ColorConversionStrategy get + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where{pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias{ + /Name get exch pop + }if + dup dup(None)eq exch(All)eq or + { + pop false + }{ + AGMCORE_host_sep + { + gsave + 1 0 0 0 setcmykcolor currentgray 1 exch sub + 0 1 0 0 setcmykcolor currentgray 1 exch sub + 0 0 1 0 setcmykcolor currentgray 1 exch sub + 0 0 0 1 setcmykcolor currentgray 1 exch sub + add add add 0 eq + { + pop false + }{ + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq + AGMUTIL_cpd/OverrideSeparations known and + { + AGMUTIL_cpd/OverrideSeparations get + { + /HqnSpots/ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not + }{ + gsave + [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace + false + AGMUTIL_cpd/SeparationColorNames 2 copy known + { + get + {AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where{pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + (Black)eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + /PhotoshopDuotoneList where{pop false}{true}ifelse + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + { + convert_spot_to_process or + } + ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /AGMCORE_avoid_L2_sep_space + version cvr 2012 lt + level2 and + AGMCORE_producing_seps not and + def + /AGMCORE_is_cmyk_sep + AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or + def + /AGM_avoid_0_cmyk where{ + pop AGM_avoid_0_cmyk + }{ + AGM_preserve_spots + userdict/Adobe_AGM_OnHost_Seps known + userdict/Adobe_AGM_InRip_Seps known or + not and + }ifelse + { + /setcmykcolor[ + { + 4 copy add add add 0 eq currentoverprint and{ + pop 0.0005 + }if + }/exec cvx + /AGMCORE_&setcmykcolor load dup type/operatortype ne{ + /exec cvx + }if + ]cvx def + }if + /AGMCORE_IsSeparationAProcessColor + { + dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + AGMCORE_cyan_plate{ + pop pop pop + }{ + AGMCORE_magenta_plate{ + 4 3 roll pop pop pop + }{ + AGMCORE_yellow_plate{ + 4 2 roll pop pop pop + }{ + 4 1 roll pop pop pop + }ifelse + }ifelse + }ifelse + settransfer + } + def + /AGMCORE_get_ink_data + AGMCORE_cyan_plate{ + {pop pop pop} + }{ + AGMCORE_magenta_plate{ + {4 3 roll pop pop pop} + }{ + AGMCORE_yellow_plate{ + {4 2 roll pop pop pop} + }{ + {4 1 roll pop pop pop} + }ifelse + }ifelse + }ifelse + def + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup/Cyan eq 1 index(Cyan)eq or + {pop(_cyan_)}if + dup/Magenta eq 1 index(Magenta)eq or + {pop(_magenta_)}if + dup/Yellow eq 1 index(Yellow)eq or + {pop(_yellow_)}if + dup/Black eq 1 index(Black)eq or + {pop(_black_)}if + }def + dup type/arraytype eq + {[exch{filtername}forall]} + {filtername}ifelse + end + }def + level3{ + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup(Cyan)eq exch/Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup(Magenta)eq exch/Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup(Yellow)eq exch/Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup(Black)eq exch/Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type/stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string/string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in/readstring cvx + [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx + [/pop cvx()]cvx/ifelse cvx + ]cvx/ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type/dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict/Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode[1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0[C0 channel get 1 exch sub]def + /C1[C1 channel get 1 exch sub]def + }{ + /C0[1]def + /C1[1]def + }ifelse + }if + FunctionType 3 eq + { + /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def + }if + currentdict/Range known + {/Range[0 1]def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict/Function known + { + currentdict/Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf + /ColorSpace[/DeviceGray]def + }{ + ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get/Separation eq + { + { + [1/exch cvx/sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx + }{ + pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2/DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup/ColorSpace get + dup type/arraytype ne + {[exch]}if + dup 0 get/DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get/Separation eq + { + exch begin + ColorSpace 1 get dup/None ne exch/All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get/DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace[/DeviceGray]def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not + { + exch begin + ColorSpace dup type/arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get/CIEBasedA eq + { + /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def + }if + ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or + { + /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def + }if + ColorSpace 0 get/CIEBasedDEFG eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup/AGMCORE_ignoreshade known + { + begin + /ColorSpace[/Separation(None)/DeviceGray{}]def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup/AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup/PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading/AGMCORE_ignoreshade known + currentdict end exch + {pop<</PatternType 1/PaintProc{pop}/BBox[0 0 1 1]/XStep 1/YStep 1/PaintType 1/TilingType 3>>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }def + }if + }if + AGMCORE_in_rip_sep{ + /setcustomcolor + { + exch aload pop + dup 7 1 roll inRip_spot_has_ink not { + 4{4 index mul 4 1 roll} + repeat + /DeviceCMYK setcolorspace + 6 -2 roll pop pop + }{ + //Adobe_AGM_Core begin + /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf + end + [/Separation 4 -1 roll/DeviceCMYK + {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} + ] + setcolorspace + }ifelse + setcolor + }ndf + /setseparationgray + { + [/Separation(All)/DeviceGray{}]setcolorspace_opt + 1 exch sub setcolor + }ndf + }{ + /setseparationgray + { + AGMCORE_&setgray + }ndf + }ifelse + /findcmykcustomcolor + { + 5 makereadonlyarray + }ndf + /setcustomcolor + { + exch aload pop pop + 4{4 index mul 4 1 roll}repeat + setcmykcolor pop + }ndf + /has_color + /colorimage where{ + AGMCORE_producing_seps{ + pop true + }{ + systemdict eq + }ifelse + }{ + false + }ifelse + def + /map_index + { + 1 index mul exch getinterval{255 div}forall + }bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + }bdf + /n_color_components + { + base_colorspace_type + dup/DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo/moveto ldf + /li/lineto ldf + /cv/curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2/setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace/setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where{ + begin + dup 0 get dup/Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /DeviceN eq + { + dup length array copy + dup dup 1 get[ + exch{ + current_spot_alias{ + dup map_alias{ + /Name get exch pop + }if + }if + map_reserved_ink_name + }forall + ]1 xpt + }if + }ifelse + end + }if + }if + }def + /setcolorspace + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/Indexed eq + { + AGMCORE_distilling + { + /PhotoshopDuotoneList where + { + pop false + }{ + true + }ifelse + }{ + true + }ifelse + { + aload pop 3 -1 roll + AGMCORE_ReplaceMappedColor + 3 1 roll 4 array astore + }if + }{ + AGMCORE_ReplaceMappedColor + }ifelse + }if + DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if + }def + }if + }{ + /adj + { + currentstrokeadjust{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + }if + }def + /mo{ + adj moveto + }def + /li{ + adj lineto + }def + /cv{ + 6 2 roll adj + 6 2 roll adj + 6 2 roll adj curveto + }def + /knockout_unitsq + { + 1 setgray + 8 8 1[8 0 0 8 0 0]{<ffffffffffffffff>}image + }def + /currentstrokeadjust{ + /currentstrokeadjust AGMCORE_gget + }def + /setstrokeadjust{ + /currentstrokeadjust exch AGMCORE_gput + }def + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + }def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + }def + /setcolor_devicecolor + { + base_colorspace_type + dup/DeviceGray eq{ + pop setgray + }{ + /DeviceCMYK eq{ + setcmykcolor + }{ + setrgbcolor + }ifelse + }ifelse + }def + /setcolor + { + currentcolorspace 0 get + dup/DeviceGray ne{ + dup/DeviceCMYK ne{ + dup/DeviceRGB ne{ + dup/Separation eq{ + pop + currentcolorspace 3 gx + currentcolorspace 2 get + }{ + dup/Indexed eq{ + pop + currentcolorspace 3 get dup type/stringtype eq{ + currentcolorspace 1 get n_color_components + 3 -1 roll map_index + }{ + exec + }ifelse + currentcolorspace 1 get + }{ + /AGMCORE_cur_err/AGMCORE_invalid_color_space def + AGMCORE_invalid_color_space + }ifelse + }ifelse + }if + }if + }if + setcolor_devicecolor + }def + }ifelse + /sop/setoverprint ldf + /lw/setlinewidth ldf + /lc/setlinecap ldf + /lj/setlinejoin ldf + /ml/setmiterlimit ldf + /dsh/setdash ldf + /sadj/setstrokeadjust ldf + /gry/setgray ldf + /rgb/setrgbcolor ldf + /cmyk[ + /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx + /setcmykcolor load dup type/operatortype ne{/exec cvx}if + ]cvx bdf + level3 AGMCORE_host_sep not and{ + /nzopmsc{ + 6 dict begin + /kk exch def + /yy exch def + /mm exch def + /cc exch def + /sum 0 def + cc 0 ne{/sum sum 2#1000 or def cc}if + mm 0 ne{/sum sum 2#0100 or def mm}if + yy 0 ne{/sum sum 2#0010 or def yy}if + kk 0 ne{/sum sum 2#0001 or def kk}if + AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace + sum 0 eq{0}if + end + setcolor + }bdf + }{ + /nzopmsc/cmyk ldf + }ifelse + /sep/setsepcolor ldf + /devn/setdevicencolor ldf + /idx/setindexedcolor ldf + /colr/setcolor ldf + /csacrd/set_csa_crd ldf + /sepcs/setsepcolorspace ldf + /devncs/setdevicencolorspace ldf + /idxcs/setindexedcolorspace ldf + /cp/closepath ldf + /clp/clp_npth ldf + /eclp/eoclp_npth ldf + /f/fill ldf + /ef/eofill ldf + /@/stroke ldf + /nclp/npth_clp ldf + /gset/graphic_setup ldf + /gcln/graphic_cleanup ldf + /ct/concat ldf + /cf/currentfile ldf + /fl/filter ldf + /rs/readstring ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin/clonedict load end def + /clonearray Adobe_AGM_Utils begin/clonearray load end def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type/stringtype eq{indx get}if + exch + Scaling exch get aload pop + 3 1 roll + mul add + }for + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /sssetbackground{ + aload pop + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + c1x c2x eq + { + c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if + c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if + }ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + /max{2 copy gt{pop}{exch pop}ifelse}bdf + /min{2 copy lt{pop}{exch pop}ifelse}bdf + rampdict begin + 40 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + np + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + }{ + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + }repeat + pop + }ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + }{ + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + grestore + grestore + end + end + end + }ifelse + }bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + x1 x2 eq + { + y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if + x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + rampdict begin + 20 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + }if + }if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + }repeat + pop + ext1{ + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + }if + }if + grestore + grestore + end + end + end + }ifelse + }bdf +}def +/pt +{ + end +}def +/dt{ +}def +/pgsv{ + //Adobe_AGM_Core/AGMCORE_save save put +}def +/pgrs{ + //Adobe_AGM_Core/AGMCORE_save get restore +}def +systemdict/findcolorrendering known{ + /findcolorrendering systemdict/findcolorrendering get def +}if +systemdict/setcolorrendering known{ + /setcolorrendering systemdict/setcolorrendering get def +}if +/test_cmyk_color_plate +{ + gsave + setcmykcolor currentgray 1 ne + grestore +}def +/inRip_spot_has_ink +{ + dup//Adobe_AGM_Core/AGMCORE_name xddf + convert_spot_to_process not +}def +/map255_to_range +{ + 1 index sub + 3 -1 roll 255 div mul add +}def +/set_csa_crd +{ + /sep_colorspace_dict null AGMCORE_gput + begin + CSA get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name/MappedCSA xdf}ifelse +}def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup/sep_tint exch AGMCORE_gput + TintProc + end +}def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + }for + TintProc + end +}def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + currentdict/Components known{ + Components aload pop + TintMethod/Lab eq{ + 2{AGMCORE_tmp mul NComponents 1 roll}repeat + LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll + }{ + TintMethod/Subtractive eq{ + NComponents{ + AGMCORE_tmp mul NComponents 1 roll + }repeat + }{ + NComponents{ + 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll + }repeat + }ifelse + }ifelse + }{ + ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get + aload pop + }ifelse + end +}def +/sep_colorspace_gray_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get + end +}def +/sep_proc_name +{ + dup 0 get + dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ + pop[/DeviceGray] + /sep_colorspace_gray_proc + }{ + /sep_colorspace_proc + }ifelse +}def +/setsepcolorspace +{ + current_spot_alias{ + dup begin + Name map_alias{ + exch pop + }if + end + }if + dup/sep_colorspace_dict exch AGMCORE_gput + begin + CSA map_csa + /AGMCORE_sep_special Name dup()eq exch(All)eq or store + AGMCORE_avoid_L2_sep_space{ + [/Indexed MappedCSA sep_proc_name 255 exch + {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx + ]setcolorspace_opt + /TintProc{ + 255 mul round cvi setcolor + }bdf + }{ + MappedCSA 0 get/DeviceCMYK eq + currentdict/Components known and + AGMCORE_sep_special not and{ + /TintProc[ + Components aload pop Name findcmykcustomcolor + /exch cvx/setcustomcolor cvx + ]cvx bdf + }{ + AGMCORE_host_sep Name(All)eq and{ + /TintProc{ + 1 exch sub setseparationgray + }bdf + }{ + AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and + AGMCORE_host_sep or + Name()eq and{ + /TintProc[ + MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ + cvx/setcmykcolor cvx + }{ + cvx/setgray cvx + }ifelse + ]cvx bdf + }{ + AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ + /TintProc[ + /dup cvx + MappedCSA sep_proc_name cvx exch + 0 get/DeviceGray eq{ + 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx + }if + /Name cvx/findcmykcustomcolor cvx/exch cvx + AGMCORE_host_sep{ + AGMCORE_is_cmyk_sep + /Name cvx + /AGMCORE_IsSeparationAProcessColor load/exec cvx + /not cvx/and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ]cvx/if cvx + /setcustomcolor cvx + ]cvx bdf + }{ + /TintProc{setcolor}bdf + [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +}def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add/index cvx + c1/get cvx/mul cvx + }for + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add/index cvx + c1/get cvx/sub cvx/mul cvx + }for + /sub cvx + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc[ + /TintTransform cvx/setcolor cvx + ]cvx bdf + MappedCSA setcolorspace_opt +}bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length{pop}repeat + end +}bdf +/setdevicencolorspace +{ + dup/AliasedColorants known{false}{true}ifelse + current_spot_alias and{ + 7 dict begin + /names_index 0 def + dup/names_len exch/Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup/Names get + { + dup map_alias{ + exch pop + dup/ColorLookup known{ + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup/Components known{ + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + new_names names_index 3 -1 roll/Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup/LookupTables known{ + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + /names_index names_index 1 add def + }forall + alias_cnt 0 gt{ + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def + 0 1 names_len 1 sub{ + /names_index xdf + new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ + /AliasedColorants false def + exit + }{ + new_LookupTables names_index get 0 get null eq{ + dup/Names get names_index get/name xdf + name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq + or or or not{ + /AliasedColorants false def + exit + }if + }if + }ifelse + }for + lut_entry_len 1 eq{ + /AliasedColorants false def + }if + AliasedColorants{ + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict/TTTablesIdx known not{ + /TTTablesIdx -1 def + }if + end + }if + }if + end + }if + dup/devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict/AliasedColorants known{ + AliasedColorants + }{ + false + }ifelse + dup not{ + CSA map_csa + }if + /TintTransform load type/nulltype eq or{ + /TintTransform[ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup(Cyan)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup(Magenta)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0/exch cvx 0 0 + }{ + (Yellow)eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1/roll cvx 0 + }{ + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1/roll cvx + }ifelse + }ifelse + }ifelse + 5 -1/roll cvx/astore cvx + }{ + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx/mul cvx/round cvx/cvi cvx/get cvx + }ifelse + Names length TTTablesIdx add 1 add 1/roll cvx + }for + Names length[/pop cvx]cvx/repeat cvx + NComponents Names length + TintMethod/Subtractive eq + { + subtractive_blend + }{ + additive_blend + }ifelse + ]cvx bdf + }if + AGMCORE_host_sep{ + Names convert_to_process{ + exec_tint_transform + } + { + currentdict/AliasedColorants known{ + AliasedColorants not + }{ + false + }ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants{ + /currentspotalias current_spot_alias def + false set_spot_alias + }if + Names{ + AGMCORE_is_cmyk_sep{ + dup(Cyan)eq AGMCORE_cyan_plate and exch + dup(Magenta)eq AGMCORE_magenta_plate and exch + dup(Yellow)eq AGMCORE_yellow_plate and exch + (Black)eq AGMCORE_black_plate and or or or{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + }if + painted?{exit}if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + exit + }if + }ifelse + /names_index names_index 1 add def + }forall + AvoidAliasedColorants{ + currentspotalias set_spot_alias + }if + painted?{ + /devicen_colorspace_dict AGMCORE_gget/names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx + 0 0 0 0/setcmykcolor cvx + ]cvx ddf + }ifelse + end + }ifelse + } + { + AGMCORE_in_rip_sep{ + Names convert_to_process not + }{ + level3 + }ifelse + { + [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and{ + [ + Names/length cvx[/pop cvx]cvx/repeat cvx + ]cvx bdf + }{ + {setcolor}bdf + }ifelse + }{ + exec_tint_transform + }ifelse + }ifelse + set_crd + /AliasedColorants false def + end +}def +/setindexedcolorspace +{ + dup/indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + currentdict devncs + }{ + 1 currentdict sepcs + }ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt/Names where{pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal{ + /tableIndex xdf + Lookup dup type/stringtype eq{ + compCnt tableIndex map_index + }{ + exec + }ifelse + /Names where{ + pop setdevicencolor + }{ + setsepcolor + }ifelse + currentgray + tableIndex exch + 255 mul cvi + NewLookup 3 1 roll put + }for + [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt + end + }{ + level3 + { + currentdict/Names known{ + [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt + }{ + [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt + }ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict/Names known{ + Lookup dup type/stringtype eq + {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} + {/exec cvx}ifelse + /TintTransform load/exec cvx + }{ + Lookup dup type/stringtype eq + {/exch cvx/get cvx 255/div cvx} + {/exec cvx}ifelse + CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx + }ifelse + ]cvx + ]setcolorspace_opt + }ifelse + }ifelse + end + set_crd + } + { + CSA map_csa + AGMCORE_host_sep level2 not and{ + 0 0 0 0 setcmykcolor + }{ + [/Indexed MappedCSA + level2 not has_color not and{ + dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ + pop[/DeviceGray] + }if + HiVal GrayLookup + }{ + HiVal + currentdict/RangeArray known{ + { + /indexed_colorspace_dict AGMCORE_gget begin + Lookup exch + dup HiVal gt{ + pop HiVal + }if + NComponents mul NComponents getinterval{}forall + NComponents 1 sub -1 0{ + RangeArray exch 2 mul 2 getinterval aload pop map255_to_range + NComponents 1 roll + }for + end + }bind + }{ + Lookup + }ifelse + }ifelse + ]setcolorspace_opt + set_crd + }ifelse + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep{ + /indexed_colorspace_dict AGMCORE_gget + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + }{ + Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll + map_index + MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse + }ifelse + end + }{ + level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ + /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + }ifelse + }ifelse +}def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode[0 1]def + /DataSource<FF>def + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict/image gx + grestore + }if + consumeimagedata +}def +/add_res +{ + dup/CSD eq{ + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + }ifelse +}def +/del_res +{ + { + aload pop exch + dup/CSD eq{ + pop + {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall + }{ + exch + {1 index undefineresource}forall + pop + }ifelse + }forall +}def +/get_res +{ + dup/CSD eq{ + pop + dup type dup/nametype eq exch/stringtype eq or{ + AGMCORE_CSD_cache exch get + }if + }{ + findresource + }ifelse +}def +/get_csa_by_name +{ + dup type dup/nametype eq exch/stringtype eq or{ + /CSA get_res + }if +}def +/paintproc_buf_init +{ + /count get 0 0 put +}def +/paintproc_buf_next +{ + dup/count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +}def +/cachepaintproc_compress +{ + 5 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq{ + pop + }{ + ppdict dup length 1 sub 3 -1 roll put + }ifelse + {string_size}{0}ifelse string + }/LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not{exit}if + }loop + LZWFilter closefile + ppdict + end +}def +/cachepaintproc +{ + 2 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + { + ReadFilter 16000 string readstring exch + ppdict dup length 1 sub 3 -1 roll put + not{exit}if + }loop + ppdict dup dup length 1 sub()put + end +}def +/make_pattern +{ + exch clonedict exch + dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform + exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub + exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub + matrix translate exch matrix concatmatrix + 1 index begin + BBox 0 get XStep div cvi XStep mul/xshift exch neg def + BBox 1 get YStep div cvi YStep mul/yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [xshift yshift/translate load null/exec load]dup + 3/PaintProc load put cvx/PaintProc exch def + end + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup/PatternType get 1 eq{ + dup/PaintType get 1 eq{ + currentoverprint sop[/DeviceGray]setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{pop}{setcolorspace}ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + } + { + Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/Saturation eq + { + /saturation_crd AGMCORE_gget dup null eq + } + { + /perceptual_crd AGMCORE_gget dup null eq + }ifelse + }ifelse + }ifelse + { + pop null + } + { + /RenderingIntent known{null}{Intent}ifelse + }ifelse + }ifelse + Intent ne{ + Intent/ColorRendering{findresource}stopped + { + pop pop systemdict/findcolorrendering known + { + Intent findcolorrendering + { + /ColorRendering findresource true exch + } + { + /ColorRendering findresource + product(Xerox Phaser 5400)ne + exch + }ifelse + dup Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd exch AGMCORE_gput + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd exch AGMCORE_gput + } + { + Intent/Saturation eq + { + /saturation_crd exch AGMCORE_gput + } + { + Intent/Perceptual eq + { + /perceptual_crd exch AGMCORE_gput + } + { + pop + }ifelse + }ifelse + }ifelse + }ifelse + 1 index{exch}{pop}ifelse + } + {false}ifelse + } + {true}ifelse + { + dup begin + currentdict/TransformPQR known{ + currentdict/TransformPQR get aload pop + 3{{}eq 3 1 roll}repeat or or + } + {true}ifelse + currentdict/MatrixPQR known{ + currentdict/MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true}ifelse + end + or + { + clonedict begin + /TransformPQR[ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind + ]def + /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def + /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def + currentdict end + }if + setcolorrendering_opt + }if + }if +}def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict/ColorRendering known{ + ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type/arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/set_ucrbg +{ + dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse + dup currentblackgeneration eq {pop}{setblackgeneration}ifelse + dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse + dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + product(HP Color LaserJet 2605)anchorsearch{ + pop pop pop + }{ + pop + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse + }ifelse +}def +/cpaint_gcomp +{ + convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not + { + (%end_cpaint_gcomp)flushinput + }if +}def +/cpaint_gsep +{ + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get + { + (%end_cpaint_gsep)flushinput + }if +}def +/cpaint_gend +{np}def +/T1_path +{ + currentfile token pop currentfile token pop mo + { + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 exch rlineto + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 rlineto + }loop +}def +/T1_gsave + level3 + {/clipsave} + {/gsave}ifelse + load def +/T1_grestore + level3 + {/cliprestore} + {/grestore}ifelse + load def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0}ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup/Name get map_alias{/CSD put}{pop}ifelse}forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get/CSD get_res + exch pop true + exit + }{ + pop + }ifelse + }forall + end + }{ + pop false + }ifelse +}bdf +/spot_alias +{ + true set_spot_alias + /AGMCORE_&setcustomcolor AGMCORE_key_known not{ + //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put + }if + /customcolor_tint 1 AGMCORE_gput + //Adobe_AGM_Core begin + /setcustomcolor + { + //Adobe_AGM_Core begin + dup/customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + /sep_colorspace_dict AGMCORE_gget null ne + {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse + 3 1 roll 2 index{ + exch pop/sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + }ifelse + end + }bdf + end +}def +/begin_feature +{ + Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put + count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put + {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if +}def +/end_feature +{ + 2 dict begin + /spd/setpagedevice load def + /setpagedevice{get_gstate spd set_gstate}def + stopped{$error/newerror false put}if + end + count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse + countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse + {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if +}def +/set_negative +{ + //Adobe_AGM_Core begin + /AGMCORE_inverting exch def + level2{ + currentpagedevice/NegativePrint known AGMCORE_distilling not and{ + currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + <</NegativePrint//Adobe_AGM_Core/AGMCORE_inverting get>>setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + AGMCORE_distilling{ + erasepage + }{ + gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore + }ifelse + }if + end +}def +/lw_save_restore_override{ + /md where{ + pop + md begin + initializepage + /initializepage{}def + /pmSVsetup{}def + /endp{}def + /pse{}def + /psb{}def + /orig_showpage where + {pop} + {/orig_showpage/showpage load def} + ifelse + /showpage{orig_showpage gR}def + end + }if +}def +/pscript_showpage_override{ + /NTPSOct95 where + { + begin + showpage + save + /showpage/restore load def + /restore{exch pop}def + end + }if +}def +/driver_media_override +{ + /md where{ + pop + md/initializepage known{ + md/initializepage{}put + }if + md/rC known{ + md/rC{4{pop}repeat}put + }if + }if + /mysetup where{ + /mysetup[1 0 0 1 0 0]put + }if + Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/capture_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put + }if + }if +}def +/restore_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup known{ + Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put + Adobe_AGM_Core/save_mysetup undef + }if + }if + }if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}def +AGMCORE_err_strings begin + /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def + /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def + /AGMCORE_invalid_color_space(This job contains an invalid color space. )def +end +/set_def_ht +{AGMCORE_def_ht sethalftone}def +/set_def_flat +{AGMCORE_Default_flatness setflat}def +end +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.31 0 +%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. +%%Version: 2.31 0 +10 dict begin +/Adobe_CoolType_Passthru currentdict def +/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def +Adobe_CoolType_Core_Defined + {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} +if +userdict/Adobe_CoolType_Core 70 dict dup begin put +/Adobe_CoolType_Version 2.31 def +/Level2? + systemdict/languagelevel known dup + {pop systemdict/languagelevel get 2 ge} + if def +Level2? not + { + /currentglobal false def + /setglobal/pop load def + /gcheck{pop false}bind def + /currentpacking false def + /setpacking/pop load def + /SharedFontDirectory 0 dict def + } +if +currentpacking +true setpacking +currentglobal false setglobal +userdict/Adobe_CoolType_Data 2 copy known not + {2 copy 10 dict put} +if +get + begin + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + end +setglobal +currentglobal true setglobal +userdict/Adobe_CoolType_GVMFonts known not + {userdict/Adobe_CoolType_GVMFonts 10 dict put} +if +setglobal +currentglobal false setglobal +userdict/Adobe_CoolType_LVMFonts known not + {userdict/Adobe_CoolType_LVMFonts 10 dict put} +if +setglobal +/ct_VMDictPut + { + dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse + 3 1 roll put + }bind def +/ct_VMDictUndef + { + dup Adobe_CoolType_GVMFonts exch known + {Adobe_CoolType_GVMFonts exch undef} + { + dup Adobe_CoolType_LVMFonts exch known + {Adobe_CoolType_LVMFonts exch undef} + {pop} + ifelse + }ifelse + }bind def +/ct_str1 1 string def +/ct_xshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + _ct_x _ct_y moveto + 0 + rmoveto + } + ifelse + /_ct_i _ct_i 1 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/ct_yshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + _ct_x _ct_y moveto + 0 exch + rmoveto + } + ifelse + /_ct_i _ct_i 1 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/ct_xyshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + {_ct_na _ct_i 1 add get}stopped + {pop pop pop} + { + _ct_x _ct_y moveto + rmoveto + } + ifelse + } + ifelse + /_ct_i _ct_i 2 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def +/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def +/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def +currentglobal true setglobal +/ct_T3Defs +{ +/BuildChar +{ + 1 index/Encoding get exch get + 1 index/BuildGlyph get exec +}bind def +/BuildGlyph +{ + exch begin + GlyphProcs exch get exec + end +}bind def +}bind def +setglobal +/@_SaveStackLevels + { + Adobe_CoolType_Data + begin + /@vmState currentglobal def false setglobal + @opStackCountByLevel + @opStackLevel + 2 copy known not + { + 2 copy + 3 dict dup/args + 7 index + 5 add array put + put get + } + { + get dup/args get dup length 3 index lt + { + dup length 5 add array exch + 1 index exch 0 exch putinterval + 1 index exch/args exch put + } + {pop} + ifelse + } + ifelse + begin + count 1 sub + 1 index lt + {pop count} + if + dup/argCount exch def + dup 0 gt + { + args exch 0 exch getinterval + astore pop + } + {pop} + ifelse + count + /restCount exch def + end + /@opStackLevel @opStackLevel 1 add def + countdictstack 1 sub + @dictStackCountByLevel exch @dictStackLevel exch put + /@dictStackLevel @dictStackLevel 1 add def + @vmState setglobal + end + }bind def +/@_RestoreStackLevels + { + Adobe_CoolType_Data + begin + /@opStackLevel @opStackLevel 1 sub def + @opStackCountByLevel @opStackLevel get + begin + count restCount sub dup 0 gt + {{pop}repeat} + {pop} + ifelse + args 0 argCount getinterval{}forall + end + /@dictStackLevel @dictStackLevel 1 sub def + @dictStackCountByLevel @dictStackLevel get + end + countdictstack exch sub dup 0 gt + {{end}repeat} + {pop} + ifelse + }bind def +/@_PopStackLevels + { + Adobe_CoolType_Data + begin + /@opStackLevel @opStackLevel 1 sub def + /@dictStackLevel @dictStackLevel 1 sub def + end + }bind def +/@Raise + { + exch cvx exch errordict exch get exec + stop + }bind def +/@ReRaise + { + cvx $error/errorname get errordict exch get exec + stop + }bind def +/@Stopped + { + 0 @#Stopped + }bind def +/@#Stopped + { + @_SaveStackLevels + stopped + {@_RestoreStackLevels true} + {@_PopStackLevels false} + ifelse + }bind def +/@Arg + { + Adobe_CoolType_Data + begin + @opStackCountByLevel @opStackLevel 1 sub get + begin + args exch + argCount 1 sub exch sub get + end + end + }bind def +currentglobal true setglobal +/CTHasResourceForAllBug + Level2? + { + 1 dict dup + /@shouldNotDisappearDictValue true def + Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put + begin + count @_SaveStackLevels + {(*){pop stop}128 string/Category resourceforall} + stopped pop + @_RestoreStackLevels + currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll + { + /@shouldNotDisappearDictValue known + { + { + end + currentdict 1 index eq + {pop exit} + if + } + loop + } + if + } + { + pop + end + } + ifelse + } + {false} + ifelse + def +true setglobal +/CTHasResourceStatusBug + Level2? + { + mark + {/steveamerige/Category resourcestatus} + stopped + {cleartomark true} + {cleartomark currentglobal not} + ifelse + } + {false} + ifelse + def +setglobal +/CTResourceStatus + { + mark 3 1 roll + /Category findresource + begin + ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec + {cleartomark false} + {{3 2 roll pop true}{cleartomark false}ifelse} + ifelse + end + }bind def +/CTWorkAroundBugs + { + Level2? + { + /cid_PreLoad/ProcSet resourcestatus + { + pop pop + currentglobal + mark + { + (*) + { + dup/CMap CTHasResourceStatusBug + {CTResourceStatus} + {resourcestatus} + ifelse + { + pop dup 0 eq exch 1 eq or + { + dup/CMap findresource gcheck setglobal + /CMap undefineresource + } + { + pop CTHasResourceForAllBug + {exit} + {stop} + ifelse + } + ifelse + } + {pop} + ifelse + } + 128 string/CMap resourceforall + } + stopped + {cleartomark} + stopped pop + setglobal + } + if + } + if + }bind def +/ds + { + Adobe_CoolType_Core + begin + CTWorkAroundBugs + /mo/moveto load def + /nf/newencodedfont load def + /msf{makefont setfont}bind def + /uf{dup undefinefont ct_VMDictUndef}bind def + /ur/undefineresource load def + /chp/charpath load def + /awsh/awidthshow load def + /wsh/widthshow load def + /ash/ashow load def + /@xshow/xshow load def + /@yshow/yshow load def + /@xyshow/xyshow load def + /@cshow/cshow load def + /sh/show load def + /rp/repeat load def + /.n/.notdef def + end + currentglobal false setglobal + userdict/Adobe_CoolType_Data 2 copy known not + {2 copy 10 dict put} + if + get + begin + /AddWidths? false def + /CC 0 def + /charcode 2 string def + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + /InVMFontsByCMap 10 dict def + /InVMDeepCopiedFonts 10 dict def + end + setglobal + }bind def +/dt + { + currentdict Adobe_CoolType_Core eq + {end} + if + }bind def +/ps + { + Adobe_CoolType_Core begin + Adobe_CoolType_GVMFonts begin + Adobe_CoolType_LVMFonts begin + SharedFontDirectory begin + }bind def +/pt + { + end + end + end + end + }bind def +/unload + { + systemdict/languagelevel known + { + systemdict/languagelevel get 2 ge + { + userdict/Adobe_CoolType_Core 2 copy known + {undef} + {pop pop} + ifelse + } + if + } + if + }bind def +/ndf + { + 1 index where + {pop pop pop} + {dup xcheck{bind}if def} + ifelse + }def +/findfont systemdict + begin + userdict + begin + /globaldict where{/globaldict get begin}if + dup where pop exch get + /globaldict where{pop end}if + end + end +Adobe_CoolType_Core_Defined + {/systemfindfont exch def} + { + /findfont 1 index def + /systemfindfont exch def + } +ifelse +/undefinefont + {pop}ndf +/copyfont + { + currentglobal 3 1 roll + 1 index gcheck setglobal + dup null eq{0}{dup length}ifelse + 2 index length add 1 add dict + begin + exch + { + 1 index/FID eq + {pop pop} + {def} + ifelse + } + forall + dup null eq + {pop} + {{def}forall} + ifelse + currentdict + end + exch setglobal + }bind def +/copyarray + { + currentglobal exch + dup gcheck setglobal + dup length array copy + exch setglobal + }bind def +/newencodedfont + { + currentglobal + { + SharedFontDirectory 3 index known + {SharedFontDirectory 3 index get/FontReferenced known} + {false} + ifelse + } + { + FontDirectory 3 index known + {FontDirectory 3 index get/FontReferenced known} + { + SharedFontDirectory 3 index known + {SharedFontDirectory 3 index get/FontReferenced known} + {false} + ifelse + } + ifelse + } + ifelse + dup + { + 3 index findfont/FontReferenced get + 2 index dup type/nametype eq + {findfont} + if ne + {pop false} + if + } + if + dup + { + 1 index dup type/nametype eq + {findfont} + if + dup/CharStrings known + { + /CharStrings get length + 4 index findfont/CharStrings get length + ne + { + pop false + } + if + } + {pop} + ifelse + } + if + { + pop + 1 index findfont + /Encoding get exch + 0 1 255 + {2 copy get 3 index 3 1 roll put} + for + pop pop pop + } + { + currentglobal + 4 1 roll + dup type/nametype eq + {findfont} + if + dup gcheck setglobal + dup dup maxlength 2 add dict + begin + exch + { + 1 index/FID ne + 2 index/Encoding ne and + {def} + {pop pop} + ifelse + } + forall + /FontReferenced exch def + /Encoding exch dup length array copy def + /FontName 1 index dup type/stringtype eq{cvn}if def dup + currentdict + end + definefont ct_VMDictPut + setglobal + } + ifelse + }bind def +/SetSubstituteStrategy + { + $SubstituteFont + begin + dup type/dicttype ne + {0 dict} + if + currentdict/$Strategies known + { + exch $Strategies exch + 2 copy known + { + get + 2 copy maxlength exch maxlength add dict + begin + {def}forall + {def}forall + currentdict + dup/$Init known + {dup/$Init get exec} + if + end + /$Strategy exch def + } + {pop pop pop} + ifelse + } + {pop pop} + ifelse + end + }bind def +/scff + { + $SubstituteFont + begin + dup type/stringtype eq + {dup length exch} + {null} + ifelse + /$sname exch def + /$slen exch def + /$inVMIndex + $sname null eq + { + 1 index $str cvs + dup length $slen sub $slen getinterval cvn + } + {$sname} + ifelse def + end + {findfont} + @Stopped + { + dup length 8 add string exch + 1 index 0(BadFont:)putinterval + 1 index exch 8 exch dup length string cvs putinterval cvn + {findfont} + @Stopped + {pop/Courier findfont} + if + } + if + $SubstituteFont + begin + /$sname null def + /$slen 0 def + /$inVMIndex null def + end + }bind def +/isWidthsOnlyFont + { + dup/WidthsOnly known + {pop pop true} + { + dup/FDepVector known + {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} + { + dup/FDArray known + {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} + {pop} + ifelse + } + ifelse + } + ifelse + }bind def +/ct_StyleDicts 4 dict dup begin + /Adobe-Japan1 4 dict dup begin + Level2? + { + /Serif + /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiMin-W3} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiMin-W3/CIDFont resourcestatus + {pop pop/HeiseiMin-W3} + {/Ryumin-Light} + ifelse + } + {/Ryumin-Light} + ifelse + } + ifelse + def + /SansSerif + /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiKakuGo-W5} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiKakuGo-W5/CIDFont resourcestatus + {pop pop/HeiseiKakuGo-W5} + {/GothicBBB-Medium} + ifelse + } + {/GothicBBB-Medium} + ifelse + } + ifelse + def + /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiMaruGo-W4} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiMaruGo-W4/CIDFont resourcestatus + {pop pop/HeiseiMaruGo-W4} + { + /Jun101-Light-RKSJ-H/Font resourcestatus + {pop pop/Jun101-Light} + {SansSerif} + ifelse + } + ifelse + } + { + /Jun101-Light-RKSJ-H/Font resourcestatus + {pop pop/Jun101-Light} + {SansSerif} + ifelse + } + ifelse + } + ifelse + /RoundSansSerif exch def + /Default Serif def + } + { + /Serif/Ryumin-Light def + /SansSerif/GothicBBB-Medium def + { + (fonts/Jun101-Light-83pv-RKSJ-H)status + }stopped + {pop}{ + {pop pop pop pop/Jun101-Light} + {SansSerif} + ifelse + /RoundSansSerif exch def + }ifelse + /Default Serif def + } + ifelse + end + def + /Adobe-Korea1 4 dict dup begin + /Serif/HYSMyeongJo-Medium def + /SansSerif/HYGoThic-Medium def + /RoundSansSerif SansSerif def + /Default Serif def + end + def + /Adobe-GB1 4 dict dup begin + /Serif/STSong-Light def + /SansSerif/STHeiti-Regular def + /RoundSansSerif SansSerif def + /Default Serif def + end + def + /Adobe-CNS1 4 dict dup begin + /Serif/MKai-Medium def + /SansSerif/MHei-Medium def + /RoundSansSerif SansSerif def + /Default Serif def + end + def +end +def +Level2?{currentglobal true setglobal}if +/ct_BoldRomanWidthProc + { + stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth + 0 0 + }bind def +/ct_Type0WidthProc + { + dup stringwidth 0 0 moveto + 2 index true charpath pathbbox + 0 -1 + 7 index 2 div .88 + setcachedevice2 + pop + 0 0 + }bind def +/ct_Type0WMode1WidthProc + { + dup stringwidth + pop 2 div neg -0.88 + 2 copy + moveto + 0 -1 + 5 -1 roll true charpath pathbbox + setcachedevice + }bind def +/cHexEncoding +[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 +/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 +/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 +/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B +/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E +/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 +/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 +/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 +/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA +/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD +/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 +/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 +/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 +/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def +/ct_BoldBaseFont + 11 dict begin + /FontType 3 def + /FontMatrix[1 0 0 1 0 0]def + /FontBBox[0 0 1 1]def + /Encoding cHexEncoding def + /_setwidthProc/ct_BoldRomanWidthProc load def + /_bcstr1 1 string def + /BuildChar + { + exch begin + _basefont setfont + _bcstr1 dup 0 4 -1 roll put + dup + _setwidthProc + 3 copy + moveto + show + _basefonto setfont + moveto + show + end + }bind def + currentdict + end +def +systemdict/composefont known +{ +/ct_DefineIdentity-H +{ + /Identity-H/CMap resourcestatus + { + pop pop + } + { + /CIDInit/ProcSet findresource begin + 12 dict begin + begincmap + /CIDSystemInfo 3 dict dup begin + /Registry(Adobe)def + /Ordering(Identity)def + /Supplement 0 def + end def + /CMapName/Identity-H def + /CMapVersion 1.000 def + /CMapType 1 def + 1 begincodespacerange + <0000><FFFF> + endcodespacerange + 1 begincidrange + <0000><FFFF>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse +} +def +/ct_BoldBaseCIDFont + 11 dict begin + /CIDFontType 1 def + /CIDFontName/ct_BoldBaseCIDFont def + /FontMatrix[1 0 0 1 0 0]def + /FontBBox[0 0 1 1]def + /_setwidthProc/ct_Type0WidthProc load def + /_bcstr2 2 string def + /BuildGlyph + { + exch begin + _basefont setfont + _bcstr2 1 2 index 256 mod put + _bcstr2 0 3 -1 roll 256 idiv put + _bcstr2 dup _setwidthProc + 3 copy + moveto + show + _basefonto setfont + moveto + show + end + }bind def + currentdict + end +def +}if +Level2?{setglobal}if +/ct_CopyFont{ + { + 1 index/FID ne 2 index/UniqueID ne and + {def}{pop pop}ifelse + }forall +}bind def +/ct_Type0CopyFont +{ + exch + dup length dict + begin + ct_CopyFont + [ + exch + FDepVector + { + dup/FontType get 0 eq + { + 1 index ct_Type0CopyFont + /_ctType0 exch definefont + } + { + /_ctBaseFont exch + 2 index exec + } + ifelse + exch + } + forall + pop + ] + /FDepVector exch def + currentdict + end +}bind def +/ct_MakeBoldFont +{ + dup/ct_SyntheticBold known + { + dup length 3 add dict begin + ct_CopyFont + /ct_StrokeWidth .03 0 FontMatrix idtransform pop def + /ct_SyntheticBold true def + currentdict + end + definefont + } + { + dup dup length 3 add dict + begin + ct_CopyFont + /PaintType 2 def + /StrokeWidth .03 0 FontMatrix idtransform pop def + /dummybold currentdict + end + definefont + dup/FontType get dup 9 ge exch 11 le and + { + ct_BoldBaseCIDFont + dup length 3 add dict copy begin + dup/CIDSystemInfo get/CIDSystemInfo exch def + ct_DefineIdentity-H + /_Type0Identity/Identity-H 3 -1 roll[exch]composefont + /_basefont exch def + /_Type0Identity/Identity-H 3 -1 roll[exch]composefont + /_basefonto exch def + currentdict + end + /CIDFont defineresource + } + { + ct_BoldBaseFont + dup length 3 add dict copy begin + /_basefont exch def + /_basefonto exch def + currentdict + end + definefont + } + ifelse + } + ifelse +}bind def +/ct_MakeBold{ + 1 index + 1 index + findfont + currentglobal 5 1 roll + dup gcheck setglobal + dup + /FontType get 0 eq + { + dup/WMode known{dup/WMode get 1 eq}{false}ifelse + version length 4 ge + and + {version 0 4 getinterval cvi 2015 ge} + {true} + ifelse + {/ct_Type0WidthProc} + {/ct_Type0WMode1WidthProc} + ifelse + ct_BoldBaseFont/_setwidthProc 3 -1 roll load put + {ct_MakeBoldFont}ct_Type0CopyFont definefont + } + { + dup/_fauxfont known not 1 index/SubstMaster known not and + { + ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put + ct_MakeBoldFont + } + { + 2 index 2 index eq + {exch pop } + { + dup length dict begin + ct_CopyFont + currentdict + end + definefont + } + ifelse + } + ifelse + } + ifelse + pop pop pop + setglobal +}bind def +/?str1 256 string def +/?set + { + $SubstituteFont + begin + /$substituteFound false def + /$fontname 1 index def + /$doSmartSub false def + end + dup + findfont + $SubstituteFont + begin + $substituteFound + {false} + { + dup/FontName known + { + dup/FontName get $fontname eq + 1 index/DistillerFauxFont known not and + /currentdistillerparams where + {pop false 2 index isWidthsOnlyFont not and} + if + } + {false} + ifelse + } + ifelse + exch pop + /$doSmartSub true def + end + { + 5 1 roll pop pop pop pop + findfont + } + { + 1 index + findfont + dup/FontType get 3 eq + { + 6 1 roll pop pop pop pop pop false + } + {pop true} + ifelse + { + $SubstituteFont + begin + pop pop + /$styleArray 1 index def + /$regOrdering 2 index def + pop pop + 0 1 $styleArray length 1 sub + { + $styleArray exch get + ct_StyleDicts $regOrdering + 2 copy known + { + get + exch 2 copy known not + {pop/Default} + if + get + dup type/nametype eq + { + ?str1 cvs length dup 1 add exch + ?str1 exch(-)putinterval + exch dup length exch ?str1 exch 3 index exch putinterval + add ?str1 exch 0 exch getinterval cvn + } + { + pop pop/Unknown + } + ifelse + } + { + pop pop pop pop/Unknown + } + ifelse + } + for + end + findfont + }if + } + ifelse + currentglobal false setglobal 3 1 roll + null copyfont definefont pop + setglobal + }bind def +setpacking +userdict/$SubstituteFont 25 dict put +1 dict + begin + /SubstituteFont + dup $error exch 2 copy known + {get} + {pop pop{pop/Courier}bind} + ifelse def + /currentdistillerparams where dup + { + pop pop + currentdistillerparams/CannotEmbedFontPolicy 2 copy known + {get/Error eq} + {pop pop false} + ifelse + } + if not + { + countdictstack array dictstack 0 get + begin + userdict + begin + $SubstituteFont + begin + /$str 128 string def + /$fontpat 128 string def + /$slen 0 def + /$sname null def + /$match false def + /$fontname null def + /$substituteFound false def + /$inVMIndex null def + /$doSmartSub true def + /$depth 0 def + /$fontname null def + /$italicangle 26.5 def + /$dstack null def + /$Strategies 10 dict dup + begin + /$Type3Underprint + { + currentglobal exch false setglobal + 11 dict + begin + /UseFont exch + $WMode 0 ne + { + dup length dict copy + dup/WMode $WMode put + /UseFont exch definefont + } + if def + /FontName $fontname dup type/stringtype eq{cvn}if def + /FontType 3 def + /FontMatrix[.001 0 0 .001 0 0]def + /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def + /FontBBox[0 0 0 0]def + /CCInfo 7 dict dup + begin + /cc null def + /x 0 def + /y 0 def + end def + /BuildChar + { + exch + begin + CCInfo + begin + 1 string dup 0 3 index put exch pop + /cc exch def + UseFont 1000 scalefont setfont + cc stringwidth/y exch def/x exch def + x y setcharwidth + $SubstituteFont/$Strategy get/$Underprint get exec + 0 0 moveto cc show + x y moveto + end + end + }bind def + currentdict + end + exch setglobal + }bind def + /$GetaTint + 2 dict dup + begin + /$BuildFont + { + dup/WMode known + {dup/WMode get} + {0} + ifelse + /$WMode exch def + $fontname exch + dup/FontName known + { + dup/FontName get + dup type/stringtype eq{cvn}if + } + {/unnamedfont} + ifelse + exch + Adobe_CoolType_Data/InVMDeepCopiedFonts get + 1 index/FontName get known + { + pop + Adobe_CoolType_Data/InVMDeepCopiedFonts get + 1 index get + null copyfont + } + {$deepcopyfont} + ifelse + exch 1 index exch/FontBasedOn exch put + dup/FontName $fontname dup type/stringtype eq{cvn}if put + definefont + Adobe_CoolType_Data/InVMDeepCopiedFonts get + begin + dup/FontBasedOn get 1 index def + end + }bind def + /$Underprint + { + gsave + x abs y abs gt + {/y 1000 def} + {/x -1000 def 500 120 translate} + ifelse + Level2? + { + [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] + setcolorspace + } + {0 setgray} + ifelse + 10 setlinewidth + x .8 mul + [7 3] + { + y mul 8 div 120 sub x 10 div exch moveto + 0 y 4 div neg rlineto + dup 0 rlineto + 0 y 4 div rlineto + closepath + gsave + Level2? + {.2 setcolor} + {.8 setgray} + ifelse + fill grestore + stroke + } + forall + pop + grestore + }bind def + end def + /$Oblique + 1 dict dup + begin + /$BuildFont + { + currentglobal exch dup gcheck setglobal + null copyfont + begin + /FontBasedOn + currentdict/FontName known + { + FontName + dup type/stringtype eq{cvn}if + } + {/unnamedfont} + ifelse + def + /FontName $fontname dup type/stringtype eq{cvn}if def + /currentdistillerparams where + {pop} + { + /FontInfo currentdict/FontInfo known + {FontInfo null copyfont} + {2 dict} + ifelse + dup + begin + /ItalicAngle $italicangle def + /FontMatrix FontMatrix + [1 0 ItalicAngle dup sin exch cos div 1 0 0] + matrix concatmatrix readonly + end + 4 2 roll def + def + } + ifelse + FontName currentdict + end + definefont + exch setglobal + }bind def + end def + /$None + 1 dict dup + begin + /$BuildFont{}bind def + end def + end def + /$Oblique SetSubstituteStrategy + /$findfontByEnum + { + dup type/stringtype eq{cvn}if + dup/$fontname exch def + $sname null eq + {$str cvs dup length $slen sub $slen getinterval} + {pop $sname} + ifelse + $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval + /$match false def + $SubstituteFont/$dstack countdictstack array dictstack put + mark + { + $fontpat 0 $slen 7 add getinterval + {/$match exch def exit} + $str filenameforall + } + stopped + { + cleardictstack + currentdict + true + $SubstituteFont/$dstack get + { + exch + { + 1 index eq + {pop false} + {true} + ifelse + } + {begin false} + ifelse + } + forall + pop + } + if + cleartomark + /$slen 0 def + $match false ne + {$match(fonts/)anchorsearch pop pop cvn} + {/Courier} + ifelse + }bind def + /$ROS 1 dict dup + begin + /Adobe 4 dict dup + begin + /Japan1 [/Ryumin-Light/HeiseiMin-W3 + /GothicBBB-Medium/HeiseiKakuGo-W5 + /HeiseiMaruGo-W4/Jun101-Light]def + /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def + /GB1 [/STSong-Light/STHeiti-Regular]def + /CNS1 [/MKai-Medium/MHei-Medium]def + end def + end def + /$cmapname null def + /$deepcopyfont + { + dup/FontType get 0 eq + { + 1 dict dup/FontName/copied put copyfont + begin + /FDepVector FDepVector copyarray + 0 1 2 index length 1 sub + { + 2 copy get $deepcopyfont + dup/FontName/copied put + /copied exch definefont + 3 copy put pop pop + } + for + def + currentdict + end + } + {$Strategies/$Type3Underprint get exec} + ifelse + }bind def + /$buildfontname + { + dup/CIDFont findresource/CIDSystemInfo get + begin + Registry length Ordering length Supplement 8 string cvs + 3 copy length 2 add add add string + dup 5 1 roll dup 0 Registry putinterval + dup 4 index(-)putinterval + dup 4 index 1 add Ordering putinterval + 4 2 roll add 1 add 2 copy(-)putinterval + end + 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch + anchorsearch + {pop pop 3 2 roll putinterval cvn/$cmapname exch def} + {pop pop pop pop pop} + ifelse + length + $str 1 index(-)putinterval 1 add + $str 1 index $cmapname $fontpat cvs putinterval + $cmapname length add + $str exch 0 exch getinterval cvn + }bind def + /$findfontByROS + { + /$fontname exch def + $ROS Registry 2 copy known + { + get Ordering 2 copy known + {get} + {pop pop[]} + ifelse + } + {pop pop[]} + ifelse + false exch + { + dup/CIDFont resourcestatus + { + pop pop + save + 1 index/CIDFont findresource + dup/WidthsOnly known + {dup/WidthsOnly get} + {false} + ifelse + exch pop + exch restore + {pop} + {exch pop true exit} + ifelse + } + {pop} + ifelse + } + forall + {$str cvs $buildfontname} + { + false(*) + { + save exch + dup/CIDFont findresource + dup/WidthsOnly known + {dup/WidthsOnly get not} + {true} + ifelse + exch/CIDSystemInfo get + dup/Registry get Registry eq + exch/Ordering get Ordering eq and and + {exch restore exch pop true exit} + {pop restore} + ifelse + } + $str/CIDFont resourceforall + {$buildfontname} + {$fontname $findfontByEnum} + ifelse + } + ifelse + }bind def + end + end + currentdict/$error known currentdict/languagelevel known and dup + {pop $error/SubstituteFont known} + if + dup + {$error} + {Adobe_CoolType_Core} + ifelse + begin + { + /SubstituteFont + /CMap/Category resourcestatus + { + pop pop + { + $SubstituteFont + begin + /$substituteFound true def + dup length $slen gt + $sname null ne or + $slen 0 gt and + { + $sname null eq + {dup $str cvs dup length $slen sub $slen getinterval cvn} + {$sname} + ifelse + Adobe_CoolType_Data/InVMFontsByCMap get + 1 index 2 copy known + { + get + false exch + { + pop + currentglobal + { + GlobalFontDirectory 1 index known + {exch pop true exit} + {pop} + ifelse + } + { + FontDirectory 1 index known + {exch pop true exit} + { + GlobalFontDirectory 1 index known + {exch pop true exit} + {pop} + ifelse + } + ifelse + } + ifelse + } + forall + } + {pop pop false} + ifelse + { + exch pop exch pop + } + { + dup/CMap resourcestatus + { + pop pop + dup/$cmapname exch def + /CMap findresource/CIDSystemInfo get{def}forall + $findfontByROS + } + { + 128 string cvs + dup(-)search + { + 3 1 roll search + { + 3 1 roll pop + {dup cvi} + stopped + {pop pop pop pop pop $findfontByEnum} + { + 4 2 roll pop pop + exch length + exch + 2 index length + 2 index + sub + exch 1 sub -1 0 + { + $str cvs dup length + 4 index + 0 + 4 index + 4 3 roll add + getinterval + exch 1 index exch 3 index exch + putinterval + dup/CMap resourcestatus + { + pop pop + 4 1 roll pop pop pop + dup/$cmapname exch def + /CMap findresource/CIDSystemInfo get{def}forall + $findfontByROS + true exit + } + {pop} + ifelse + } + for + dup type/booleantype eq + {pop} + {pop pop pop $findfontByEnum} + ifelse + } + ifelse + } + {pop pop pop $findfontByEnum} + ifelse + } + {pop pop $findfontByEnum} + ifelse + } + ifelse + } + ifelse + } + {//SubstituteFont exec} + ifelse + /$slen 0 def + end + } + } + { + { + $SubstituteFont + begin + /$substituteFound true def + dup length $slen gt + $sname null ne or + $slen 0 gt and + {$findfontByEnum} + {//SubstituteFont exec} + ifelse + end + } + } + ifelse + bind readonly def + Adobe_CoolType_Core/scfindfont/systemfindfont load put + } + { + /scfindfont + { + $SubstituteFont + begin + dup systemfindfont + dup/FontName known + {dup/FontName get dup 3 index ne} + {/noname true} + ifelse + dup + { + /$origfontnamefound 2 index def + /$origfontname 4 index def/$substituteFound true def + } + if + exch pop + { + $slen 0 gt + $sname null ne + 3 index length $slen gt or and + { + pop dup $findfontByEnum findfont + dup maxlength 1 add dict + begin + {1 index/FID eq{pop pop}{def}ifelse} + forall + currentdict + end + definefont + dup/FontName known{dup/FontName get}{null}ifelse + $origfontnamefound ne + { + $origfontname $str cvs print + ( substitution revised, using )print + dup/FontName known + {dup/FontName get}{(unspecified font)} + ifelse + $str cvs print(.\n)print + } + if + } + {exch pop} + ifelse + } + {exch pop} + ifelse + end + }bind def + } + ifelse + end + end + Adobe_CoolType_Core_Defined not + { + Adobe_CoolType_Core/findfont + { + $SubstituteFont + begin + $depth 0 eq + { + /$fontname 1 index dup type/stringtype ne{$str cvs}if def + /$substituteFound false def + } + if + /$depth $depth 1 add def + end + scfindfont + $SubstituteFont + begin + /$depth $depth 1 sub def + $substituteFound $depth 0 eq and + { + $inVMIndex null ne + {dup $inVMIndex $AddInVMFont} + if + $doSmartSub + { + currentdict/$Strategy known + {$Strategy/$BuildFont get exec} + if + } + if + } + if + end + }bind put + } + if + } + if + end +/$AddInVMFont + { + exch/FontName 2 copy known + { + get + 1 dict dup begin exch 1 index gcheck def end exch + Adobe_CoolType_Data/InVMFontsByCMap get exch + $DictAdd + } + {pop pop pop} + ifelse + }bind def +/$DictAdd + { + 2 copy known not + {2 copy 4 index length dict put} + if + Level2? not + { + 2 copy get dup maxlength exch length 4 index length add lt + 2 copy get dup length 4 index length add exch maxlength 1 index lt + { + 2 mul dict + begin + 2 copy get{forall}def + 2 copy currentdict put + end + } + {pop} + ifelse + } + if + get + begin + {def} + forall + end + }bind def +end +end +%%EndResource +currentglobal true setglobal +%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. +%%Version: 1.23 0 +systemdict/languagelevel known dup + {currentglobal false setglobal} + {false} +ifelse +exch +userdict/Adobe_CoolType_Utility 2 copy known + {2 copy get dup maxlength 27 add dict copy} + {27 dict} +ifelse put +Adobe_CoolType_Utility + begin + /@eexecStartData + <BAB431EA07F209EB8C4348311481D9D3F76E3D15246555577D87BC510ED54E + 118C39697FA9F6DB58128E60EB8A12FA24D7CDD2FA94D221FA9EC8DA3E5E6A1C + 4ACECC8C2D39C54E7C946031DD156C3A6B4A09AD29E1867A>def + /@recognizeCIDFont null def + /ct_Level2? exch def + /ct_Clone? 1183615869 internaldict dup + /CCRun known not + exch/eCCRun known not + ct_Level2? and or def +ct_Level2? + {globaldict begin currentglobal true setglobal} +if + /ct_AddStdCIDMap + ct_Level2? + {{ + mark + Adobe_CoolType_Utility/@recognizeCIDFont currentdict put + { + ((Hex)57 StartData + 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 + 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 + d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 + cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec + } + stopped + { + cleartomark + Adobe_CoolType_Utility/@recognizeCIDFont get + countdictstack dup array dictstack + exch 1 sub -1 0 + { + 2 copy get 3 index eq + {1 index length exch sub 1 sub{end}repeat exit} + {pop} + ifelse + } + for + pop pop + Adobe_CoolType_Utility/@eexecStartData get eexec + } + {cleartomark} + ifelse + }} + {{ + Adobe_CoolType_Utility/@eexecStartData get eexec + }} + ifelse bind def +userdict/cid_extensions known +dup{cid_extensions/cid_UpdateDB known and}if + { + cid_extensions + begin + /cid_GetCIDSystemInfo + { + 1 index type/stringtype eq + {exch cvn exch} + if + cid_extensions + begin + dup load 2 index known + { + 2 copy + cid_GetStatusInfo + dup null ne + { + 1 index load + 3 index get + dup null eq + {pop pop cid_UpdateDB} + { + exch + 1 index/Created get eq + {exch pop exch pop} + {pop cid_UpdateDB} + ifelse + } + ifelse + } + {pop cid_UpdateDB} + ifelse + } + {cid_UpdateDB} + ifelse + end + }bind def + end + } +if +ct_Level2? + {end setglobal} +if + /ct_UseNativeCapability? systemdict/composefont known def + /ct_MakeOCF 35 dict def + /ct_Vars 25 dict def + /ct_GlyphDirProcs 6 dict def + /ct_BuildCharDict 15 dict dup + begin + /charcode 2 string def + /dst_string 1500 string def + /nullstring()def + /usewidths? true def + end def + ct_Level2?{setglobal}{pop}ifelse + ct_GlyphDirProcs + begin + /GetGlyphDirectory + { + systemdict/languagelevel known + {pop/CIDFont findresource/GlyphDirectory get} + { + 1 index/CIDFont findresource/GlyphDirectory + get dup type/dicttype eq + { + dup dup maxlength exch length sub 2 index lt + { + dup length 2 index add dict copy 2 index + /CIDFont findresource/GlyphDirectory 2 index put + } + if + } + if + exch pop exch pop + } + ifelse + + + }def + /+ + { + systemdict/languagelevel known + { + currentglobal false setglobal + 3 dict begin + /vm exch def + } + {1 dict begin} + ifelse + /$ exch def + systemdict/languagelevel known + { + vm setglobal + /gvm currentglobal def + $ gcheck setglobal + } + if + ?{$ begin}if + }def + /?{$ type/dicttype eq}def + /|{ + userdict/Adobe_CoolType_Data known + { + Adobe_CoolType_Data/AddWidths? known + { + currentdict Adobe_CoolType_Data + begin + begin + AddWidths? + { + Adobe_CoolType_Data/CC 3 index put + ?{def}{$ 3 1 roll put}ifelse + CC charcode exch 1 index 0 2 index 256 idiv put + 1 index exch 1 exch 256 mod put + stringwidth 2 array astore + currentfont/Widths get exch CC exch put + } + {?{def}{$ 3 1 roll put}ifelse} + ifelse + end + end + } + {?{def}{$ 3 1 roll put}ifelse} ifelse + } + {?{def}{$ 3 1 roll put}ifelse} + ifelse + }def + /! + { + ?{end}if + systemdict/languagelevel known + {gvm setglobal} + if + end + }def + /:{string currentfile exch readstring pop}executeonly def + end + ct_MakeOCF + begin + /ct_cHexEncoding + [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 + /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 + /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 + /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B + /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E + /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 + /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 + /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 + /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA + /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD + /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 + /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 + /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 + /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def + /ct_CID_STR_SIZE 8000 def + /ct_mkocfStr100 100 string def + /ct_defaultFontMtx[.001 0 0 .001 0 0]def + /ct_1000Mtx[1000 0 0 1000 0 0]def + /ct_raise{exch cvx exch errordict exch get exec stop}bind def + /ct_reraise + {cvx $error/errorname get(Error: )print dup( )cvs print + errordict exch get exec stop + }bind def + /ct_cvnsi + { + 1 index add 1 sub 1 exch 0 4 1 roll + { + 2 index exch get + exch 8 bitshift + add + } + for + exch pop + }bind def + /ct_GetInterval + { + Adobe_CoolType_Utility/ct_BuildCharDict get + begin + /dst_index 0 def + dup dst_string length gt + {dup string/dst_string exch def} + if + 1 index ct_CID_STR_SIZE idiv + /arrayIndex exch def + 2 index arrayIndex get + 2 index + arrayIndex ct_CID_STR_SIZE mul + sub + { + dup 3 index add 2 index length le + { + 2 index getinterval + dst_string dst_index 2 index putinterval + length dst_index add/dst_index exch def + exit + } + { + 1 index length 1 index sub + dup 4 1 roll + getinterval + dst_string dst_index 2 index putinterval + pop dup dst_index add/dst_index exch def + sub + /arrayIndex arrayIndex 1 add def + 2 index dup length arrayIndex gt + {arrayIndex get} + { + pop + exit + } + ifelse + 0 + } + ifelse + } + loop + pop pop pop + dst_string 0 dst_index getinterval + end + }bind def + ct_Level2? + { + /ct_resourcestatus + currentglobal mark true setglobal + {/unknowninstancename/Category resourcestatus} + stopped + {cleartomark setglobal true} + {cleartomark currentglobal not exch setglobal} + ifelse + { + { + mark 3 1 roll/Category findresource + begin + ct_Vars/vm currentglobal put + ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec + {cleartomark false} + {{3 2 roll pop true}{cleartomark false}ifelse} + ifelse + ct_Vars/vm get setglobal + end + } + } + {{resourcestatus}} + ifelse bind def + /CIDFont/Category ct_resourcestatus + {pop pop} + { + currentglobal true setglobal + /Generic/Category findresource + dup length dict copy + dup/InstanceType/dicttype put + /CIDFont exch/Category defineresource pop + setglobal + } + ifelse + ct_UseNativeCapability? + { + /CIDInit/ProcSet findresource begin + 12 dict begin + begincmap + /CIDSystemInfo 3 dict dup begin + /Registry(Adobe)def + /Ordering(Identity)def + /Supplement 0 def + end def + /CMapName/Identity-H def + /CMapVersion 1.000 def + /CMapType 1 def + 1 begincodespacerange + <0000><FFFF> + endcodespacerange + 1 begincidrange + <0000><FFFF>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + if + } + { + /ct_Category 2 dict begin + /CIDFont 10 dict def + /ProcSet 2 dict def + currentdict + end + def + /defineresource + { + ct_Category 1 index 2 copy known + { + get + dup dup maxlength exch length eq + { + dup length 10 add dict copy + ct_Category 2 index 2 index put + } + if + 3 index 3 index put + pop exch pop + } + {pop pop/defineresource/undefined ct_raise} + ifelse + }bind def + /findresource + { + ct_Category 1 index 2 copy known + { + get + 2 index 2 copy known + {get 3 1 roll pop pop} + {pop pop/findresource/undefinedresource ct_raise} + ifelse + } + {pop pop/findresource/undefined ct_raise} + ifelse + }bind def + /resourcestatus + { + ct_Category 1 index 2 copy known + { + get + 2 index known + exch pop exch pop + { + 0 -1 true + } + { + false + } + ifelse + } + {pop pop/findresource/undefined ct_raise} + ifelse + }bind def + /ct_resourcestatus/resourcestatus load def + } + ifelse + /ct_CIDInit 2 dict + begin + /ct_cidfont_stream_init + { + { + dup(Binary)eq + { + pop + null + currentfile + ct_Level2? + { + {cid_BYTE_COUNT()/SubFileDecode filter} + stopped + {pop pop pop} + if + } + if + /readstring load + exit + } + if + dup(Hex)eq + { + pop + currentfile + ct_Level2? + { + {null exch/ASCIIHexDecode filter/readstring} + stopped + {pop exch pop(>)exch/readhexstring} + if + } + {(>)exch/readhexstring} + ifelse + load + exit + } + if + /StartData/typecheck ct_raise + } + loop + cid_BYTE_COUNT ct_CID_STR_SIZE le + { + 2 copy cid_BYTE_COUNT string exch exec + pop + 1 array dup + 3 -1 roll + 0 exch put + } + { + cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi + dup array exch 2 sub 0 exch 1 exch + { + 2 copy + 5 index + ct_CID_STR_SIZE + string + 6 index exec + pop + put + pop + } + for + 2 index + cid_BYTE_COUNT ct_CID_STR_SIZE mod string + 3 index exec + pop + 1 index exch + 1 index length 1 sub + exch put + } + ifelse + cid_CIDFONT exch/GlyphData exch put + 2 index null eq + { + pop pop pop + } + { + pop/readstring load + 1 string exch + { + 3 copy exec + pop + dup length 0 eq + { + pop pop pop pop pop + true exit + } + if + 4 index + eq + { + pop pop pop pop + false exit + } + if + } + loop + pop + } + ifelse + }bind def + /StartData + { + mark + { + currentdict + dup/FDArray get 0 get/FontMatrix get + 0 get 0.001 eq + { + dup/CDevProc known not + { + /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known + {get} + { + pop pop + {pop pop pop pop pop 0 -1000 7 index 2 div 880} + } + ifelse + def + } + if + } + { + /CDevProc + { + pop pop pop pop pop + 0 + 1 cid_temp/cid_CIDFONT get + /FDArray get 0 get + /FontMatrix get 0 get div + 7 index 2 div + 1 index 0.88 mul + }def + } + ifelse + /cid_temp 15 dict def + cid_temp + begin + /cid_CIDFONT exch def + 3 copy pop + dup/cid_BYTE_COUNT exch def 0 gt + { + ct_cidfont_stream_init + FDArray + { + /Private get + dup/SubrMapOffset known + { + begin + /Subrs SubrCount array def + Subrs + SubrMapOffset + SubrCount + SDBytes + ct_Level2? + { + currentdict dup/SubrMapOffset undef + dup/SubrCount undef + /SDBytes undef + } + if + end + /cid_SD_BYTES exch def + /cid_SUBR_COUNT exch def + /cid_SUBR_MAP_OFFSET exch def + /cid_SUBRS exch def + cid_SUBR_COUNT 0 gt + { + GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval + 0 cid_SD_BYTES ct_cvnsi + 0 1 cid_SUBR_COUNT 1 sub + { + exch 1 index + 1 add + cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add + GlyphData exch cid_SD_BYTES ct_GetInterval + 0 cid_SD_BYTES ct_cvnsi + cid_SUBRS 4 2 roll + GlyphData exch + 4 index + 1 index + sub + ct_GetInterval + dup length string copy put + } + for + pop + } + if + } + {pop} + ifelse + } + forall + } + if + cleartomark pop pop + end + CIDFontName currentdict/CIDFont defineresource pop + end end + } + stopped + {cleartomark/StartData ct_reraise} + if + }bind def + currentdict + end def + /ct_saveCIDInit + { + /CIDInit/ProcSet ct_resourcestatus + {true} + {/CIDInitC/ProcSet ct_resourcestatus} + ifelse + { + pop pop + /CIDInit/ProcSet findresource + ct_UseNativeCapability? + {pop null} + {/CIDInit ct_CIDInit/ProcSet defineresource pop} + ifelse + } + {/CIDInit ct_CIDInit/ProcSet defineresource pop null} + ifelse + ct_Vars exch/ct_oldCIDInit exch put + }bind def + /ct_restoreCIDInit + { + ct_Vars/ct_oldCIDInit get dup null ne + {/CIDInit exch/ProcSet defineresource pop} + {pop} + ifelse + }bind def + /ct_BuildCharSetUp + { + 1 index + begin + CIDFont + begin + Adobe_CoolType_Utility/ct_BuildCharDict get + begin + /ct_dfCharCode exch def + /ct_dfDict exch def + CIDFirstByte ct_dfCharCode add + dup CIDCount ge + {pop 0} + if + /cid exch def + { + GlyphDirectory cid 2 copy known + {get} + {pop pop nullstring} + ifelse + dup length FDBytes sub 0 gt + { + dup + FDBytes 0 ne + {0 FDBytes ct_cvnsi} + {pop 0} + ifelse + /fdIndex exch def + dup length FDBytes sub FDBytes exch getinterval + /charstring exch def + exit + } + { + pop + cid 0 eq + {/charstring nullstring def exit} + if + /cid 0 def + } + ifelse + } + loop + }def + /ct_SetCacheDevice + { + 0 0 moveto + dup stringwidth + 3 -1 roll + true charpath + pathbbox + 0 -1000 + 7 index 2 div 880 + setcachedevice2 + 0 0 moveto + }def + /ct_CloneSetCacheProc + { + 1 eq + { + stringwidth + pop -2 div -880 + 0 -1000 setcharwidth + moveto + } + { + usewidths? + { + currentfont/Widths get cid + 2 copy known + {get exch pop aload pop} + {pop pop stringwidth} + ifelse + } + {stringwidth} + ifelse + setcharwidth + 0 0 moveto + } + ifelse + }def + /ct_Type3ShowCharString + { + ct_FDDict fdIndex 2 copy known + {get} + { + currentglobal 3 1 roll + 1 index gcheck setglobal + ct_Type1FontTemplate dup maxlength dict copy + begin + FDArray fdIndex get + dup/FontMatrix 2 copy known + {get} + {pop pop ct_defaultFontMtx} + ifelse + /FontMatrix exch dup length array copy def + /Private get + /Private exch def + /Widths rootfont/Widths get def + /CharStrings 1 dict dup/.notdef + <d841272cf18f54fc13>dup length string copy put def + currentdict + end + /ct_Type1Font exch definefont + dup 5 1 roll put + setglobal + } + ifelse + dup/CharStrings get 1 index/Encoding get + ct_dfCharCode get charstring put + rootfont/WMode 2 copy known + {get} + {pop pop 0} + ifelse + exch + 1000 scalefont setfont + ct_str1 0 ct_dfCharCode put + ct_str1 exch ct_dfSetCacheProc + ct_SyntheticBold + { + currentpoint + ct_str1 show + newpath + moveto + ct_str1 true charpath + ct_StrokeWidth setlinewidth + stroke + } + {ct_str1 show} + ifelse + }def + /ct_Type4ShowCharString + { + ct_dfDict ct_dfCharCode charstring + FDArray fdIndex get + dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not + {ct_1000Mtx matrix concatmatrix concat} + {pop} + ifelse + /Private get + Adobe_CoolType_Utility/ct_Level2? get not + { + ct_dfDict/Private + 3 -1 roll + {put} + 1183615869 internaldict/superexec get exec + } + if + 1183615869 internaldict + Adobe_CoolType_Utility/ct_Level2? get + {1 index} + {3 index/Private get mark 6 1 roll} + ifelse + dup/RunInt known + {/RunInt get} + {pop/CCRun} + ifelse + get exec + Adobe_CoolType_Utility/ct_Level2? get not + {cleartomark} + if + }bind def + /ct_BuildCharIncremental + { + { + Adobe_CoolType_Utility/ct_MakeOCF get begin + ct_BuildCharSetUp + ct_ShowCharString + } + stopped + {stop} + if + end + end + end + end + }bind def + /BaseFontNameStr(BF00)def + /ct_Type1FontTemplate 14 dict + begin + /FontType 1 def + /FontMatrix [0.001 0 0 0.001 0 0]def + /FontBBox [-250 -250 1250 1250]def + /Encoding ct_cHexEncoding def + /PaintType 0 def + currentdict + end def + /BaseFontTemplate 11 dict + begin + /FontMatrix [0.001 0 0 0.001 0 0]def + /FontBBox [-250 -250 1250 1250]def + /Encoding ct_cHexEncoding def + /BuildChar/ct_BuildCharIncremental load def + ct_Clone? + { + /FontType 3 def + /ct_ShowCharString/ct_Type3ShowCharString load def + /ct_dfSetCacheProc/ct_CloneSetCacheProc load def + /ct_SyntheticBold false def + /ct_StrokeWidth 1 def + } + { + /FontType 4 def + /Private 1 dict dup/lenIV 4 put def + /CharStrings 1 dict dup/.notdef<d841272cf18f54fc13>put def + /PaintType 0 def + /ct_ShowCharString/ct_Type4ShowCharString load def + } + ifelse + /ct_str1 1 string def + currentdict + end def + /BaseFontDictSize BaseFontTemplate length 5 add def + /ct_matrixeq + { + true 0 1 5 + { + dup 4 index exch get exch 3 index exch get eq and + dup not + {exit} + if + } + for + exch pop exch pop + }bind def + /ct_makeocf + { + 15 dict + begin + exch/WMode exch def + exch/FontName exch def + /FontType 0 def + /FMapType 2 def + dup/FontMatrix known + {dup/FontMatrix get/FontMatrix exch def} + {/FontMatrix matrix def} + ifelse + /bfCount 1 index/CIDCount get 256 idiv 1 add + dup 256 gt{pop 256}if def + /Encoding + 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for + bfCount 1 255{2 copy bfCount put pop}for + def + /FDepVector bfCount dup 256 lt{1 add}if array def + BaseFontTemplate BaseFontDictSize dict copy + begin + /CIDFont exch def + CIDFont/FontBBox known + {CIDFont/FontBBox get/FontBBox exch def} + if + CIDFont/CDevProc known + {CIDFont/CDevProc get/CDevProc exch def} + if + currentdict + end + BaseFontNameStr 3(0)putinterval + 0 1 bfCount dup 256 eq{1 sub}if + { + FDepVector exch + 2 index BaseFontDictSize dict copy + begin + dup/CIDFirstByte exch 256 mul def + FontType 3 eq + {/ct_FDDict 2 dict def} + if + currentdict + end + 1 index 16 + BaseFontNameStr 2 2 getinterval cvrs pop + BaseFontNameStr exch definefont + put + } + for + ct_Clone? + {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} + if + FontName + currentdict + end + definefont + ct_Clone? + { + gsave + dup 1000 scalefont setfont + ct_BuildCharDict + begin + /usewidths? false def + currentfont/Widths get + begin + exch/CIDFont get/GlyphDirectory get + { + pop + dup charcode exch 1 index 0 2 index 256 idiv put + 1 index exch 1 exch 256 mod put + stringwidth 2 array astore def + } + forall + end + /usewidths? true def + end + grestore + } + {exch pop} + ifelse + }bind def + currentglobal true setglobal + /ct_ComposeFont + { + ct_UseNativeCapability? + { + 2 index/CMap ct_resourcestatus + {pop pop exch pop} + { + /CIDInit/ProcSet findresource + begin + 12 dict + begin + begincmap + /CMapName 3 index def + /CMapVersion 1.000 def + /CMapType 1 def + exch/WMode exch def + /CIDSystemInfo 3 dict dup + begin + /Registry(Adobe)def + /Ordering + CMapName ct_mkocfStr100 cvs + (Adobe-)search + { + pop pop + (-)search + { + dup length string copy + exch pop exch pop + } + {pop(Identity)} + ifelse + } + {pop (Identity)} + ifelse + def + /Supplement 0 def + end def + 1 begincodespacerange + <0000><FFFF> + endcodespacerange + 1 begincidrange + <0000><FFFF>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse + composefont + } + { + 3 2 roll pop + 0 get/CIDFont findresource + ct_makeocf + } + ifelse + }bind def + setglobal + /ct_MakeIdentity + { + ct_UseNativeCapability? + { + 1 index/CMap ct_resourcestatus + {pop pop} + { + /CIDInit/ProcSet findresource begin + 12 dict begin + begincmap + /CMapName 2 index def + /CMapVersion 1.000 def + /CMapType 1 def + /CIDSystemInfo 3 dict dup + begin + /Registry(Adobe)def + /Ordering + CMapName ct_mkocfStr100 cvs + (Adobe-)search + { + pop pop + (-)search + {dup length string copy exch pop exch pop} + {pop(Identity)} + ifelse + } + {pop(Identity)} + ifelse + def + /Supplement 0 def + end def + 1 begincodespacerange + <0000><FFFF> + endcodespacerange + 1 begincidrange + <0000><FFFF>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse + composefont + } + { + exch pop + 0 get/CIDFont findresource + ct_makeocf + } + ifelse + }bind def + currentdict readonly pop + end + end +%%EndResource +setglobal +%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 +%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. +%%Version: 1.0 0 +userdict/ct_T42Dict 15 dict put +ct_T42Dict begin +/Is2015? +{ + version + cvi + 2015 + ge +}bind def +/AllocGlyphStorage +{ + Is2015? + { + pop + } + { + {string}forall + }ifelse +}bind def +/Type42DictBegin +{ +25 dict begin + /FontName exch def + /CharStrings 256 dict +begin + /.notdef 0 def + currentdict +end def + /Encoding exch def + /PaintType 0 def + /FontType 42 def + /FontMatrix[1 0 0 1 0 0]def + 4 array astore cvx/FontBBox exch def + /sfnts +}bind def +/Type42DictEnd +{ + currentdict dup/FontName get exch definefont end +ct_T42Dict exch +dup/FontName get exch put +}bind def +/RD{string currentfile exch readstring pop}executeonly def +/PrepFor2015 +{ +Is2015? +{ + /GlyphDirectory + 16 + dict def + sfnts 0 get + dup + 2 index + (glyx) + putinterval + 2 index + (locx) + putinterval + pop + pop +} +{ + pop + pop +}ifelse +}bind def +/AddT42Char +{ +Is2015? +{ + /GlyphDirectory get + begin + def + end + pop + pop +} +{ + /sfnts get + 4 index + get + 3 index + 2 index + putinterval + pop + pop + pop + pop +}ifelse +}bind def +/T0AddT42Mtx2 +{ +/CIDFont findresource/Metrics2 get begin def end +}bind def +end +%%EndResource +currentglobal true setglobal +%%BeginFile: MMFauxFont.prc +%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. +%%All Rights Reserved. +userdict /ct_EuroDict 10 dict put +ct_EuroDict begin +/ct_CopyFont +{ + { 1 index /FID ne {def} {pop pop} ifelse} forall +} def +/ct_GetGlyphOutline +{ + gsave + initmatrix newpath + exch findfont dup + length 1 add dict + begin + ct_CopyFont + /Encoding Encoding dup length array copy + dup + 4 -1 roll + 0 exch put + def + currentdict + end + /ct_EuroFont exch definefont + 1000 scalefont setfont + 0 0 moveto + [ + <00> stringwidth + <00> false charpath + pathbbox + [ + {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall + grestore + counttomark 8 add +} +def +/ct_MakeGlyphProc +{ + ] cvx + /ct_PSBuildGlyph cvx + ] cvx +} def +/ct_PSBuildGlyph +{ + gsave + 8 -1 roll pop + 7 1 roll + 6 -2 roll ct_FontMatrix transform 6 2 roll + 4 -2 roll ct_FontMatrix transform 4 2 roll + ct_FontMatrix transform + currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse + dup 9 1 roll + { + currentdict /StrokeWidth 2 copy known + { + get 2 div + 0 ct_FontMatrix dtransform pop + 5 1 roll + 4 -1 roll 4 index sub + 4 1 roll + 3 -1 roll 4 index sub + 3 1 roll + exch 4 index add exch + 4 index add + 5 -1 roll pop + } + { + pop pop + } + ifelse + } + if + setcachedevice + ct_FontMatrix concat + ct_PSPathOps begin + exec + end + { + currentdict /StrokeWidth 2 copy known + { get } + { pop pop 0 } + ifelse + setlinewidth stroke + } + { + fill + } + ifelse + grestore +} def +/ct_PSPathOps 4 dict dup begin + /m {moveto} def + /l {lineto} def + /c {curveto} def + /cp {closepath} def +end +def +/ct_matrix1000 [1000 0 0 1000 0 0] def +/ct_AddGlyphProc +{ + 2 index findfont dup length 4 add dict + begin + ct_CopyFont + /CharStrings CharStrings dup length 1 add dict copy + begin + 3 1 roll def + currentdict + end + def + /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def + /ct_PSBuildGlyph /ct_PSBuildGlyph load def + /ct_PSPathOps /ct_PSPathOps load def + currentdict + end + definefont pop +} +def +systemdict /languagelevel known +{ + /ct_AddGlyphToPrinterFont { + 2 copy + ct_GetGlyphOutline 3 add -1 roll restore + ct_MakeGlyphProc + ct_AddGlyphProc + } def +} +{ + /ct_AddGlyphToPrinterFont { + pop pop restore + Adobe_CTFauxDict /$$$FONTNAME get + /Euro + Adobe_CTFauxDict /$$$SUBSTITUTEBASE get + ct_EuroDict exch get + ct_AddGlyphProc + } def +} ifelse +/AdobeSansMM +{ +556 0 24 -19 541 703 + { + 541 628 m + 510 669 442 703 354 703 c + 201 703 117 607 101 444 c + 50 444 l + 25 372 l + 97 372 l + 97 301 l + 49 301 l + 24 229 l + 103 229 l + 124 67 209 -19 350 -19 c + 435 -19 501 25 509 32 c + 509 131 l + 492 105 417 60 343 60 c + 267 60 204 127 197 229 c + 406 229 l + 430 301 l + 191 301 l + 191 372 l + 455 372 l + 479 444 l + 194 444 l + 201 531 245 624 348 624 c + 433 624 484 583 509 534 c + cp + 556 0 m + } +ct_PSBuildGlyph +} def +/AdobeSerifMM +{ +500 0 10 -12 484 692 + { + 347 298 m + 171 298 l + 170 310 170 322 170 335 c + 170 362 l + 362 362 l + 374 403 l + 172 403 l + 184 580 244 642 308 642 c + 380 642 434 574 457 457 c + 481 462 l + 474 691 l + 449 691 l + 433 670 429 657 410 657 c + 394 657 360 692 299 692 c + 204 692 94 604 73 403 c + 22 403 l + 10 362 l + 70 362 l + 69 352 69 341 69 330 c + 69 319 69 308 70 298 c + 22 298 l + 10 257 l + 73 257 l + 97 57 216 -12 295 -12 c + 364 -12 427 25 484 123 c + 458 142 l + 425 101 384 37 316 37 c + 256 37 189 84 173 257 c + 335 257 l + cp + 500 0 m + } +ct_PSBuildGlyph +} def +end +%%EndFile +setglobal +Adobe_CoolType_Core begin /$None SetSubstituteStrategy end +%%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Image 71 dict dup begin put +/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def +/nd{ + null def +}bind def +/AGMIMG_&image nd +/AGMIMG_&colorimage nd +/AGMIMG_&imagemask nd +/AGMIMG_mbuf()def +/AGMIMG_ybuf()def +/AGMIMG_kbuf()def +/AGMIMG_c 0 def +/AGMIMG_m 0 def +/AGMIMG_y 0 def +/AGMIMG_k 0 def +/AGMIMG_tmp nd +/AGMIMG_imagestring0 nd +/AGMIMG_imagestring1 nd +/AGMIMG_imagestring2 nd +/AGMIMG_imagestring3 nd +/AGMIMG_imagestring4 nd +/AGMIMG_imagestring5 nd +/AGMIMG_cnt nd +/AGMIMG_fsave nd +/AGMIMG_colorAry nd +/AGMIMG_override nd +/AGMIMG_name nd +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/ds +{ + Adobe_AGM_Core begin + Adobe_AGM_Image begin + /AGMIMG_&image systemdict/image get def + /AGMIMG_&imagemask systemdict/imagemask get def + /colorimage where{ + pop + /AGMIMG_&colorimage/colorimage ldf + }if + end + end +}def +/ps +{ + Adobe_AGM_Image begin + /AGMIMG_ccimage_exists{/customcolorimage where + { + pop + /Adobe_AGM_OnHost_Seps where + { + pop false + }{ + /Adobe_AGM_InRip_Seps where + { + pop false + }{ + true + }ifelse + }ifelse + }{ + false + }ifelse + }bdf + level2{ + /invert_image_samples + { + Adobe_AGM_Image/AGMIMG_tmp Decode length ddf + /Decode[Decode 1 get Decode 0 get]def + }def + /knockout_image_samples + { + Operator/imagemask ne{ + /Decode[1 1]def + }if + }def + }{ + /invert_image_samples + { + {1 exch sub}currenttransfer addprocs settransfer + }def + /knockout_image_samples + { + {pop 1}currenttransfer addprocs settransfer + }def + }ifelse + /img/imageormask ldf + /sepimg/sep_imageormask ldf + /devnimg/devn_imageormask ldf + /idximg/indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall +}def +/pt +{ + end +}def +/dt +{ +}def +/AGMIMG_flushfilters +{ + dup type/arraytype ne + {1 array astore}if + dup 0 get currentfile ne + {dup 0 get flushfile}if + { + dup type/filetype eq + { + dup status 1 index currentfile ne and + {closefile} + {pop} + ifelse + }{pop}ifelse + }forall +}def +/AGMIMG_init_common +{ + currentdict/T known{/ImageType/T ldf currentdict/T undef}if + currentdict/W known{/Width/W ldf currentdict/W undef}if + currentdict/H known{/Height/H ldf currentdict/H undef}if + currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if + currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if + currentdict/D known{/Decode/D ldf currentdict/D undef}if + currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if + currentdict/O known{ + /Operator/O load 1 eq{ + /imagemask + }{ + /O load 2 eq{ + /image + }{ + /colorimage + }ifelse + }ifelse + def + currentdict/O undef + }if + currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if + currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if + currentdict/I known{/Interpolate/I ldf currentdict/I undef}if + currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if + /DataSource load xcheck not{ + DataSource type/arraytype eq{ + DataSource 0 get type/filetype eq{ + /_Filters DataSource def + currentdict/MultipleDataSources known not{ + /DataSource DataSource dup length 1 sub get def + }if + }if + }if + currentdict/MultipleDataSources known not{ + /MultipleDataSources DataSource type/arraytype eq{ + DataSource length 1 gt + } + {false}ifelse def + }if + }if + /NComponents Decode length 2 div def + currentdict/SkipImageProc known not{/SkipImageProc{false}def}if +}bdf +/imageormask_sys +{ + begin + AGMIMG_init_common + save mark + level2{ + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + AGMIMG_&imagemask + }{ + BitsPerComponent ImageMatrix/DataSource load + AGMIMG_&image + }ifelse + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint{ + 0 get dup type/nametype eq{ + dup/DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + }forall + not + }ifelse + }{ + pop false + }ifelse +}def +/process_mask +{ + level3{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def + /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def + /ImageMatrix[Width 0 0 Height neg 0 Height]def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def + /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def + currentdict end def + currentdict end + }if +}def +/use_mask +{ + dup/Mask known {dup/Mask get}{false}ifelse +}def +/imageormask +{ + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator/imagemask eq DeviceN_PS2 not and{ + imagemask + }{ + AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ + [/Separation/Black/DeviceGray{}]setcolorspace + /Decode[Decode 1 get Decode 0 get]def + }if + use_mask{ + process_mask image + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not{ + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file{ + Names{ + dup(None)ne{ + [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace + Operator imageDict read_image_file + names_index 0 eq{true setoverprint}if + /names_index names_index 1 add def + }{ + pop + }ifelse + }forall + close_image_file + }if + grestore + end + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + /Adobe_AGM_OnHost_Seps where{ + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }ifelse + }{ + BitsPerComponent ImageMatrix + MultipleDataSources{ + 0 1 NComponents 1 sub{ + DataSource exch get + }for + }{ + /DataSource load + }ifelse + Operator/colorimage eq{ + AGMCORE_host_sep{ + MultipleDataSources level2 or NComponents 4 eq and{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource DataSource 0 get xcheck + { + [ + DataSource 0 get/exec cvx + DataSource 1 get/exec cvx + DataSource 2 get/exec cvx + DataSource 3 get/exec cvx + /AGMCORE_get_ink_data cvx + ]cvx + }{ + DataSource aload pop AGMCORE_get_ink_data + }ifelse def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /DataSource load + filter_cmyk 0()/SubFileDecode filter def + }ifelse + /Decode[Decode 0 get Decode 1 get]def + /MultipleDataSources false def + /NComponents 1 def + /Operator/image def + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator/image eq{ + AGMCORE_host_sep{ + /DoImage true def + currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse + { + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }if + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys}if + }{ + use_mask{ + process_mask image + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_avoid_L2_sep_space{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + }if + AGMIMG_ccimage_exists + MappedCSA 0 get/DeviceCMYK eq and + currentdict/Components known and + Name()ne and + Name(All)ne and + Operator/image eq and + AGMCORE_producing_seps not and + level2 not and + { + Width Height BitsPerComponent ImageMatrix + [ + /DataSource load/exec cvx + { + 0 1 2 index length 1 sub{ + 1 index exch + 2 copy get 255 xor put + }for + }/exec cvx + ]cvx bind + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Name findcmykcustomcolor + customcolorimage + }{ + AGMCORE_producing_seps not{ + level2{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentdict imageormask + }{ + currentdict + Operator/imagemask eq{ + imageormask + }{ + sep_imageormask_lev1 + }ifelse + }ifelse + }{ + AGMCORE_host_sep{ + Operator/knockout eq{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name(All)ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator/imagemask eq{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }if + }{ + invert_image_samples + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + [/Separation Name[/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + }bind + ]AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }if + }ifelse + currentdict imageormask_sys + }{ + currentdict + Operator/imagemask eq{ + imageormask_sys + }{ + sep_image_lev1_sep + }ifelse + }ifelse + }{ + Operator/imagemask ne{ + invert_image_samples + }if + currentdict imageormask_sys + }ifelse + }{ + currentoverprint not Name(All)eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + currentcolorspace 0 get/Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + }if + currentoverprint + MappedCSA 0 get/DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse + Name(All)ne and{ + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end +}def +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +}bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub{ + dup currentdict/dataSource get/exch cvx/get cvx/exec cvx + /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx + }for + ]cvx bind + end +}bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0()/SubFileDecode filter + BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0()/SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx + }for + /convProc load/exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2/add cvx/index cvx + 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx + }for + ]bind cvx 0()/SubFileDecode filter + end +}bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs[3 -1 roll begin + AGMIMG_init_common + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt{1 add 2 div cvi}{exit}ifelse + }loop + string + }repeat + end]def + /dstDataStr srcDataStrs 0 get length string def + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_producing_seps not{ + level3 not{ + Operator/imagemask ne{ + /DataSource[[ + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def + /MultipleDataSources true def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + }if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process{ + CSA get_csa_by_name 0 get/DeviceCMYK eq{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + filter_cmyk 0()/SubFileDecode filter def + /MultipleDataSources false def + /Decode[1 0]def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate{ + /DataSource + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + currentdict imageormask_sys + }{ + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + }ifelse + }ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget/names_index known{ + Operator/imagemask ne{ + MultipleDataSources{ + /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def + /MultipleDataSources false def + }{ + /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def + }ifelse + invert_image_samples + }if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end + end +}def +/imageormask_l2_overprint +{ + currentdict + currentcmykcolor add add add 0 eq{ + currentdict consumeimagedata + }{ + level3{ + currentcmykcolor + /AGMIMG_k xdf + /AGMIMG_y xdf + /AGMIMG_m xdf + /AGMIMG_c xdf + Operator/imagemask eq{ + [/DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ]/DeviceCMYK{}]setcolorspace + AGMIMG_c 0 ne{AGMIMG_c}if + AGMIMG_m 0 ne{AGMIMG_m}if + AGMIMG_y 0 ne{AGMIMG_y}if + AGMIMG_k 0 ne{AGMIMG_k}if + setcolor + }{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + [/Indexed + [ + /DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ] + /DeviceCMYK{ + AGMIMG_k 0 eq{0}if + AGMIMG_y 0 eq{0 exch}if + AGMIMG_m 0 eq{0 3 1 roll}if + AGMIMG_c 0 eq{0 4 1 roll}if + } + ] + 255 + { + 255 div + mark exch + dup dup dup + AGMIMG_k 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_y 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_m 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_c 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + counttomark 1 add -1 roll pop + } + ]setcolorspace + }ifelse + imageormask_sys + }{ + write_image_file{ + currentcmykcolor + 0 ne{ + [/Separation/Black/DeviceGray{}]setcolorspace + gsave + /Black + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Yellow/DeviceGray{}]setcolorspace + gsave + /Yellow + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Magenta/DeviceGray{}]setcolorspace + gsave + /Magenta + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Cyan/DeviceGray{}]setcolorspace + gsave + /Cyan + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + close_image_file + }{ + imageormask + }ifelse + }ifelse + }ifelse +}def +/indexed_imageormask +{ + begin + AGMIMG_init_common + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ + /CSA get get_csa_by_name + }{ + /Names get + }ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN{ + /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator/imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN{ + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget dup null ne + { + begin + currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse + get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and + AGMCORE_in_rip_sep and{ + [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] + setcolorspace + }if + end + } + {pop}ifelse + }ifelse + imageormask + Indexed_DeviceN{ + end + }if + }{ + Operator/imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not{ + currentcolorspace + dup 1/DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + }if + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + end end +}def + /OPIimage + { + dup type/dicttype ne{ + 10 dict begin + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /ImageType 1 def + /Decode[0 1 def] + currentdict + end + }if + dup begin + /NComponents 1 cdndf + /MultipleDataSources false cdndf + /SkipImageProc{false}cdndf + /Decode[ + 0 + currentcolorspace 0 get/Indexed eq{ + 2 BitsPerComponent exp 1 sub + }{ + 1 + }ifelse + ]cdndf + /Operator/image cdndf + end + /sep_colorspace_dict AGMCORE_gget null eq{ + imageormask + }{ + gsave + dup begin invert_image_samples end + sep_imageormask + grestore + }ifelse + }def +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter/WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0(%EndMask)/SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not{exit}if + }loop + WriteFilter closefile + end +}def +/spot_alias +{ + /mapto_sep_imageormask + { + dup type/dicttype ne{ + 12 dict begin + /ImageType 1 def + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /MultipleDataSources false def + }{ + begin + }ifelse + /Decode[/customcolor_tint AGMCORE_gget 0]def + /Operator/image def + /SkipImageProc{false}def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA[/DeviceCMYK] + /TintMethod/Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components[AGMIMG_colorAry aload pop pop] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + itransform/AGMIMG_llY exch def/AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + itransform/AGMIMG_urY exch def/AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat + }{ + }ifelse + end +}def +level2 not{ + /colorbuf + { + 0 1 2 index length 1 sub{ + dup 2 index exch get + 255 exch sub + 2 index + 3 1 roll + put + }for + }def + /tint_image_to_color + { + begin + Width Height BitsPerComponent ImageMatrix + /DataSource load + end + Adobe_AGM_Image begin + /AGMIMG_mbuf 0 string def + /AGMIMG_ybuf 0 string def + /AGMIMG_kbuf 0 string def + { + colorbuf dup length AGMIMG_mbuf length ne + { + dup length dup dup + /AGMIMG_mbuf exch string def + /AGMIMG_ybuf exch string def + /AGMIMG_kbuf exch string def + }if + dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop + } + addprocs + {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage + end + }def + /sep_imageormask_lev1 + { + begin + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + { + 255 mul round cvi GrayLookup exch get + }currenttransfer addprocs settransfer + currentdict imageormask + }{ + /sep_colorspace_dict AGMCORE_gget/Components known{ + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ + {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer + currentdict imageormask + }{ + currentcolortransfer + {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }{ + MappedCSA 0 get/DeviceGray eq{ + {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer + currentdict imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + /sep_image_lev1_sep + { + begin + /sep_colorspace_dict AGMCORE_gget/Components known{ + Components aload pop + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + {AGMIMG_c mul 1 exch sub} + {AGMIMG_m mul 1 exch sub} + {AGMIMG_y mul 1 exch sub} + {AGMIMG_k mul 1 exch sub} + }{ + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} + }ifelse + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end + }def + /indexed_imageormask_lev1 + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + currentdict + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceGray eq{ + {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }ifelse + }ifelse + }ifelse + end end + }def + /indexed_image_lev1_sep + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end end + }def +}if +end +systemdict/setpacking known +{setpacking}if +%%EndResource +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/ds gx +Adobe_CoolType_Core/ds get exec +Adobe_AGM_Image/ds gx +[/NamespacePush pdfmark_5 +[/_objdef {Doc_Metadata} /type /stream /OBJ pdfmark_5 +[{Doc_Metadata} 1281 (% &end XMP packet& %) ReadBypdfmark_5_string +<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> +<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.2-c001 63.139439, 2010/09/27-13:37:26 "> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/" + xmp:ModifyDate="2011-04-08T15:21:07-05:00" + xmp:CreateDate="2011-04-08T15:21:07-05:00" + xmp:MetadataDate="2011-04-08T15:21:07-05:00" + xmp:CreatorTool="DVIPSONE 2.3.4.149 http://www.YandY.com" + dc:format="application/pdf" + xmpMM:DocumentID="uuid:4672a2a6-f2a2-46c1-a618-bae4e40b5b67" + xmpMM:InstanceID="uuid:840d3c6d-0825-497a-9944-212dd7f55635" + pdf:Producer="Acrobat Distiller 10.0.1 (Windows)"> + <dc:title> + <rdf:Alt> + <rdf:li xml:lang="x-default">test03</rdf:li> + </rdf:Alt> + </dc:title> + <dc:description> + <rdf:Alt> + <rdf:li xml:lang="x-default">TeX output 2011.04.08:1517</rdf:li> + </rdf:Alt> + </dc:description> + <dc:creator> + <rdf:Seq> + <rdf:li>Donald Story (Complimentary Copy) 4662 2009-10-23 13:17:17</rdf:li> + </rdf:Seq> + </dc:creator> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> @@ -7988,1171 +7988,1171 @@ Adobe_AGM_Image/ds gx -<?xpacket end='w'?>
-
-
-% &end XMP packet& %
-
-[{Doc_Metadata} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark_5
-[/Document 1 dict begin /Metadata {Doc_Metadata} def currentdict end /BDC pdfmark_5
-[/NamespacePop pdfmark_5
-currentdict Adobe_AGM_Utils eq {end} if
-%%EndSetup
-%%Page: 1 1
-%%EndPageComments
-%%BeginPageSetup
-Adobe_AGM_Utils begin
-Adobe_AGM_Core/ps gx
-Adobe_AGM_Core/capture_mysetup gx
-Adobe_AGM_Utils/capture_cpd gx
-Adobe_CoolType_Core/ps get exec
-Adobe_AGM_Image/ps gx
-%%EndPageSetup
-1 -1 scale 0 -194.951 translate
-pgsv
-[1 0 0 1 0 0 ]ct
-gsave
-np
-gsave
--7.62939e-6 0 mo
--7.62939e-6 194.951 li
-256.793 194.951 li
-256.793 0 li
-cp
-clp
-false sop
-/0
-<<
-/Name (Black)
-/0
-[/DeviceCMYK] /CSA add_res
-/CSA /0 get_csa_by_name
-/MappedCSA /0 /CSA get_res
-/TintMethod /Subtractive
-/TintProc null
-/NComponents 4
-/Components [ 0 0 0 1 ]
->>
-/CSD add_res
-1 /0 /CSD get_res sepcs
-1 sep
-%ADOBeginSubsetFont: GLAAAA+CMR10 Initial
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-13 dict dup begin
-/FontType 1 def
-/FontName /GLAAAA+CMR10 def
-/FontInfo 8 dict dup begin
-/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def
-/Weight (Medium) def
-/ItalicAngle 0 def
-/BaseFontName (CMR10) def
-/WasEmbedded true def
-end def
-/PaintType 0 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 51 /three put
-dup 53 /five put
-dup 65 /A put
-dup 67 /C put
-dup 73 /I put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 97 /a put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 111 /o put
-dup 123 /endash put
-def
-/UniqueID 5000793 def
-/FontBBox {-40 -250 1009 969} def
-end
-systemdict begin
-dup /Private
-13 dict dup begin
-/|- {def} def
-/| {put} def
-/BlueValues [-22 -0 683 705 431 448 666 677] def
-/OtherBlues [-206 -194] def
-/BlueScale 0.04379 def
-/StdHW [31] def
-/StdVW [69] def
-/StemSnapH [22 31] def
-/StemSnapV [69 89] def
-/password 5839 def
-/MinFeature {16 16} def
-/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869
-systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup
-/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def
-/Subrs 5 array
-dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> |
-dup 1 <1C60D8A8C9C3D06D9E> |
-dup 2 <1C60D8A8C9C202D79A> |
-dup 3 <1C60D8A849> |
-dup 4 <1C60D8A8CC3674F41144B13B77> |
-def
-put
-dup /CharStrings
-23 dict dup begin
-/slash <1C60D8A8C9B7A73DB56225352A24C6E389DE2B55CA06CAB1D904D74F
-E21B6520E910DE6837DBFFB95567192F781E541A03B8446689265DEAE7140ED2
-3D1C3943714CDFC12315> |-
-/zero <1C60D8A8C9B7A73D3B2D32309B1F5D5A32FC3614834F8BC61B6EB92C1
-2484BD76628737DA40CF9DA1C97CCDAFB1D1B732C642F74A7C41B7D3AC6DAF8D
-1E760692B6EBD2417EF1893A4AA0B1CF049D4C54D830CEC073A9153D451FAD42
-892B0930AEE4FE18588336BFDAD60D8A4F4CFFED76F103FB9BBD8A33EFBA3F18
-232B88D88FE54E17260FA3E2CC29DEC0CB72B88DC816FF5> |-
-/one <1C60D8A8C9B7A73DC579B9CE13A4EA8C203AFC890ABD6F58341B006CF1
-BDD8FED3A7238E01F751FEAC75885229C293891E5636AD630D9C884528B6FEF0
-0728A740ED77D054B4743ECA5E3947520FEF6B23D548765D11> |-
-/three <1C60D8A8C9B7A73D3B2B97DEB4C7BDB68E0D63865C8BF294429AD1BA
-AE59A25299F9306A9E28AA5C0C0AF9F97F56096DB0FD0EC440ACCE834B0BA539
-2FD94D026768A961AA5D1A88FAE30F2B2033E77AFAB55B0B9C8092CD226DD9EF
-EEAAF5CD5AE79D6DDEC4C37DC43DE3B85DD2A2EC4DC0C9F349D5E8F9F615782E
-DC8C53805553FD3C0007C1818BF3D99AB659A079ED36132BBDC613CA63D7A0FE
-429706DBC6BA998CE56A89C002758EF37F90A390F83B3DFE49D312FA66FDF2F1
-6212D1503559B35FC2DB8BD5A49535> |-
-/five <1C60D8A8C9B7A73D3B2B97F19D54A2E00E7DDA8E72064220CB7581D13
-CEDF071F346430E40993A6297E3A2A6D6093205222D977AC7F7B65CC82B221D9
-B18ADEA5D4AF0261ABF060D3E283C7B3B5EB39FF499721FD51203AE59E3BEA25
-7DFD3E472FEF67221488EC8D1F355E2FAD057CA44A8B4BAD6C6C719C164907CB
-F9A6CC770DB0C7E58A37D2385E23F576BCFF94FFBFD8ADD4C5E6C32CD83ACEB7
-7472D00FE1A4DC66393A99AC6BBD252B04C98B710149EA42B66ACE89D4FC4393
-F3A09165DF477ABCB0E8A8DB21E4278CA219EBCC9B067F92619913BDBD1EF3C9
-A> |-
-/A <1C60D8A8C9B08A9501CDAE1251A61DF6E2312CA41635F6CE1D00B63E171C
-70F84D42F62A21A6DD37D84C279E3FAE908D39B730ACD671ED9E277ACFE833A1
-1F48F076C9803DC08258033731BCBCE19DF3B81C1C298B382A15FAC94387A992
-AD9631716A7ED4F711137D6C851AE1C8DCBBFBCF7274E882226E58958CE6283A
-197E7FAE3A2D0F6C24FA411BECFB36A10FF2A923EA89ABEFAD5AB23D600F> |-
-/C <1C60D8A8C9B08A9454CA4C75C5C983901A105955FD02AB95A1C2D2A205D6
-C9A19566388580DAF81E45849DB37660797B67B5A88B6906602915C5F5C9B0EC
-D18BF9F52BC4BC58CA3DC88745B8BAABAD3D92E461BFB415E7240305CDDA1D0D
-B5D35FEBC75FFD4C053E78B6CA772ACEB0C2FF98C08B672F492F305E0C5F3841
-918729B4AEB78A65C2A83364408240D8D653DA56F4DCB028D3D78F3C2D6BC7> |-
-/I <1C60D8A8C9B08A9591900960B3FA4612DFF926AB21A530E1912F33677612
-AC06B324D812E42049FF4946BE5E0FFA24FA0C62F2839FF2110EEC7EE0A42476
-46E6F699D4C8BECE1825B3A661611E4D55F40F2E64FACB836D4D0C9780F60650
-FBF10E0D42> |-
-/L <1C60D8A8C9B08A9504870DC577BFF1117CB147078FC0444648398262998D
-8061E386D366188391878ADBE16C10A3B1BC6A93F56BD64AE45F8370470F419D
-A43CBACE3D7B1152502CD0CF1468D72D3CB197A29E71D336CDA7D6BAA426EC1B
-681825BDDC37329099DC579F155C> |-
-/M <1C60D8A8C9B08A94284A0D047609A407E661A852E250B140B4157477FB2A
-AE2E22210B2D780B692B0718211E5BD86C3DCF8087849BEE2B9F6D1D8621E40C
-8FBE892AC1B23002BF18819E26C6741335DF8DA8AC82506D7051C0505D48DDFA
-17EE84A06E07C05EBAC6174D600BACE071866247BE6C83F4CF28F6D6EE6A6CF8
-A788C4FFFDBDCA978C2B0B201753D21CB7AF0542C690ECE8E7EDBE1B1FB29939
-734E35E0ECCA8BA7FAEB58AC205A8A82A94C960A65> |-
-/N <1C60D8A8C9B08A9501CDAE1251A61DF6E23FBE9059A2A88492E84D61402E
-80BD80B5057FF8914FA4679EB3900C60B246DA77BF837041B1C053FCD543E3D1
-D259FCE953A74E40366D604A99F9233772AC97F872D505329B1446640ABD99E4
-AC723C39DD6EA376A043CE3633F04D9BC6DEFE2E1A831DBB9C16F90A966DFA0F
-3802BB1EB0AA3DAEB0E864B9D3CC3E14AE1E9219B48660289CF348B4E280> |-
-/O <1C60D8A8C9B08A946182837629000F56F09862ED5AA400F2B4EB929FCD0B
-6F40CAF45238A67BE496742823610F15AF19832E8EC09C64557C48DB0BC41E07
-C1B98081893CB2216BAE4CCECC72A02E2F6B8D0FE8B2E6548D00AAA585F02486
-772A4FC1258C2982A5ECEC> |-
-/P <1C60D8A8C9B08A94478101EE5603CAF9EA65868978F157B7D9DB71203FAD
-46B85DF1A1E477012038D20B3756C0124AD7E2F6ACCB98150AB793091E3E7A8F
-3C0AE6FC8D7A5031BB678671889D46F3A15BD495F1AB5B7C8F63325E15B44523
-174D09593A38714FEB5177883F725186FE6BF7095A24CD9EDEFA3551580A0E2B
-0B49AC2002> |-
-/S <1C60D8A8C9B08A95C5897169EED99899F86A6DCF3CD291B001131D3BCB45
-BF71748507542417352D5B30F63C60EB90DCF55005F88E95175B21D3219CD9E9
-2E89E417B177D285600845553F66626D2225552D23A7697637BDCEEECAEA18AB
-42A896E96FF5B3536CC368A5F7504B6C75D962A4B5F9534F79AC78DC99848461
-42257A40DE257430C92806EBA73FF7D93DF0A6C207299E2D17F4071F9096D016
-163F4D3EC1889ADA266D3682F2D99904573A5022A10E61069737F2D55F919F95
-A33DB6DD2667321E4727855B58DBF4B1E5A294928E6CEABFBD34F296C1B758> |-
-/T <1C60D8A8C9B08A9454CA4C75C5C97DCE7AB32777FAAECD12647866E7CB3F
-CCDC541E37F2225E520DEDE695980D4012AD5B972BDABC7E7E5410E71AC63692
-4E778B3131B6C4D1E76F8C4592AC311A2107F53DC1850538C9E487E6D5DBDFE8
-027D7126BA9ED8B24E7379B57E474ACD298BF6B3700CC970D80111DD98EFC872
-C24D0DA3C75DDDFD177C6D15> |-
-/U <1C60D8A8C9B08A9501CDAE1251A6E3AF1199B24D30F25809B39A0DD6474A
-CF1BFDB89F5985BBB0F2E5FE7296314FDA462BECDBDEA31B3750001975D37A8B
-F31F224CAB5093B8997B856DAE5F9007E1497BEED45CA8AC033A65F773653762
-77BFCDF39A2D8F1BC8E5626BEEEF5D670E87E32F25C0530E88A4E2B9AD6D8333
-3A6C173F8B22714E74A224AD610C2B1EAB> |-
-/a <1C60D8A8C9B7A73DCB03313BCF7AD8C8EE234E5372D46A65E92A78F4B7E0
-2ECC58F71EE6C027AD4D56C5E4DE1AF1031295DC17C0E7AC8D8358634F9A19B0
-2A110E5539C10136C68E0D2CBEA6658A501D9D73323861F8C29EB92F9080ACC3
-E236C5F14389534682EC2925F59CD4A215569A7BD7B9F7827A30BA75EB840535
-B2A2C8F92AD166CE93D277314A4C690C47DB847F73BFE1049631CDDB9124FD76
-2753AA8DB187C216AFB74F76299B3C51610D74CF31321BBFEB5CFCA7D213C896
-D1B8E57EFC05695F2F73> |-
-/e <1C60D8A8C9B08A95B1F07368C45D8D2AF4BC97E4CB216B20786BB8409E5C
-B0892E60E7F0AD9AC8433678C58AAD59736BF9700A3AEB0B5352F4A898A5EEFB
-C72A64BFB45B917D9879BD0577DAB96A0E86BECAB5E8A8A051E5E40886D5A00C
-EC53E0A3265FC74195574846689BF9F38086985C2DD3223390D51155F707CE86
-59EC1C65A75BE9A0BA862DB1A00FF6A01FCED7E6> |-
-/f <1C60D8A8C9B08A956BA65798425CE9B0A78F07A04AF2F8524751F181F94C
-EF756ACD6AB92BD09462A05FB08A9160A0AB5267B62445F916DEFC1DAF3F1FB4
-B3761F71CBE3290960500C788D04CB45BB0A2825753AA6E46495F35A08389AAA
-C80F35ADADFB7ACE340FEC03C9E5F9A50A8AD731E7A553A32F387574697F9CAB
-2E100B6DD6E3525398F6> |-
-/g <1C60D8A8C9B7A73DB58EA28807584EB19BC6EA1448A12312E623B90358A1
-63CFC67672A34CC74B0AEAADF24229DF1CCAA1488AE3E348FE2ACD572EA487EC
-9D77FBB0710AB421B03DD5B8AE5519B5C269E9648E819E7ECE806EEF16A6618D
-07D9AAB350E57F26F5259E8FCF9E5C2D96BBEAD16502F9E7819E854042DDB2BC
-674C39681CC2E5224219582BC7B59BBAEF869C9DF91CA7770A97BAD53C3C3A99
-175BA8F0A5744B5969D3BC15831A95918F7C707E41F5D87B8DB2D57378BC9C29
-7DAE69E4BF438246E63F565B22D86CBE28DEF748262FB9FF82A88935451D6280
-A28F1AD964E6E476D5779321E42D3A86BE41122F1BED36C3DC47E1E01C225345
-98D0431873197ABE1C8EC03B4011E4B26D249635BDBABB8E5B69BE07AFA65F88
-EAF6> |-
-/o <1C60D8A8C9B7A73DCEB07E09D16841D605E4F67059E6B258F546B80703E4
-CDAF20027B900118209D5372F965F2045D50C02A29110A048C891DEBA3210CDF
-C5CDE2309C0CDE0E4855E9F6D8954C4C68826A14AD2E4C6227A036D85D304D6A
-96FEAA92DEC3CD1B9F4AD57B5F1EBAB070FE911461A7D5B958F5> |-
-/endash <1C60D8A8C9B7A73DB9B60A0DBA4B5FB3A045D6B65F12EE5E3DC48D3
-43D8E> |-
-/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |-
-end put
-end
-dup /FontName get exch definefont pop
-end
-%ADOEndSubsetFont
-/YNDRLJ+CMR10 /GLAAAA+CMR10 findfont ct_VMDictPut
-/YNDRLJ+CMR10*1
-[47{/.notdef}rp /slash /zero /one /.notdef /three /.notdef /five
-11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L
-/M /N /O /P 2{/.notdef}rp /S /T /U
-11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o
-11{/.notdef}rp /endash 132{/.notdef}rp]
-YNDRLJ+CMR10 nf
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
--31.697 -36.8879 mo
-(MAC1105/T3{Page5of10{SOLUTIONS)
-[9.13578 7.19498 7.193 4.9813 4.9813 4.9813 4.98129 4.98131 7.19299 92.4629 8.30183 6.50756
-4.98131 4.98129 7.74393 8.30185 4.98129 6.36908 4.98129 8.30182 195.931 5.53922 7.75089 6.22662
-7.47195 7.19296 3.59644 7.75098 7.47192 0 ]xsh
-%ADOBeginSubsetFont: GISAAA+CMBX10 Initial
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-13 dict dup begin
-/FontType 1 def
-/FontName /GISAAA+CMBX10 def
-/FontInfo 8 dict dup begin
-/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def
-/Weight (Bold) def
-/ItalicAngle 0 def
-/BaseFontName (CMBX10) def
-/WasEmbedded true def
-end def
-/PaintType 0 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
-dup 56 /eight put
-def
-/UniqueID 5000768 def
-/FontBBox {-301 -250 1164 946} def
-end
-systemdict begin
-dup /Private
-14 dict dup begin
-/|- {def} def
-/| {put} def
-/BlueValues [-11 -0 686 697 444 453 655 676] def
-/OtherBlues [-201 -194] def
-/BlueScale 0.04379 def
-/StdHW [47] def
-/StdVW [114] def
-/StemSnapH [40 47] def
-/StemSnapV [114 142] def
-/ForceBold true def
-/password 5839 def
-/MinFeature {16 16} def
-/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869
-systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup
-/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def
-/Subrs 5 array
-dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> |
-dup 1 <1C60D8A8C9C3D06D9E> |
-dup 2 <1C60D8A8C9C202D79A> |
-dup 3 <1C60D8A849> |
-dup 4 <1C60D8A8CC3674F41144B13B77> |
-def
-put
-dup /CharStrings
-3 dict dup begin
-/period <1C60D8A8C9B08A9560D4C2F3A74D92838E83B7DC14B89478B799496
-0CFDC6D2144A34A20CA36052335682902BE7739DD> |-
-/eight <1C60D8A8C9B7FCB6A4EC6CCC71FFBC41969F86A86636A65E5BD14FD4
-EBD93FCE205F86ECC615335CAFE8E2240019DB970894F9979E3FDF252D8A9472
-1B680E23D2DF204A99891D5AD0E347695938A6FCE4923A098978EC0AC2A3894C
-8A94767FEBA61293F9C489BAC7A89726BFA765D56F2D198E99D500D81046ACE1
-5301FD9FB36D2F2E4EAA017CCF306EAEC8E157B40FDE6DC2FA713180A587E730
-6AD0870F441697503D> |-
-/.notdef <1C60D8A8C9B08A95899606B6B060A7> |-
-end put
-end
-dup /FontName get exch definefont pop
-end
-%ADOEndSubsetFont
-/YNDRLK+CMBX10 /GISAAA+CMBX10 findfont ct_VMDictPut
-/YNDRLK+CMBX10*1
-[46{/.notdef}rp /period 9{/.notdef}rp /eight 199{/.notdef}rp]
-YNDRLK+CMBX10 nf
-YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf
--25.9685 -7.00012 mo
-(8.)
-[5.72846 0 ]xsh
-249.382 99.488 mo
-253.706 97.944 li
-249.382 96.4 li
-251.112 97.944 li
-f
-gsave
-253.705 187.944 mo
-1.70499 187.944 li
-1.70499 7.94397 li
-253.705 7.94397 li
-cp
-clp
-.797 lw
-0 lc
-0 lj
-10 ml
-[] 0 dsh
-false sadj
-1.70499 97.944 mo
-251.111 97.944 li
-@
-grestore
-.399 lw
-0 lc
-0 lj
-10 ml
-[] 0 dsh
-false sadj
-127.705 101.929 mo
-127.705 93.959 li
-@
-155.705 101.929 mo
-155.705 93.959 li
-@
-183.705 101.929 mo
-183.705 93.959 li
-@
-211.705 101.929 mo
-211.705 93.959 li
-@
-239.705 101.929 mo
-239.705 93.959 li
-@
-127.705 101.929 mo
-127.705 93.959 li
-@
-99.705 101.929 mo
-99.705 93.959 li
-@
-71.705 101.929 mo
-71.705 93.959 li
-@
-43.705 101.929 mo
-43.705 93.959 li
-@
-15.705 101.929 mo
-15.705 93.959 li
-@
-129.25 12.268 mo
-127.706 7.94403 li
-126.162 12.268 li
-127.706 10.5391 li
-f
-.797 lw
-127.705 187.944 mo
-127.705 10.538 li
-@
-.399 lw
-123.72 97.944 mo
-131.69 97.944 li
-@
-123.72 77.944 mo
-131.69 77.944 li
-@
-123.72 57.944 mo
-131.69 57.944 li
-@
-123.72 37.944 mo
-131.69 37.944 li
-@
-123.72 17.944 mo
-131.69 17.944 li
-@
-123.72 97.944 mo
-131.69 97.944 li
-@
-123.72 117.944 mo
-131.69 117.944 li
-@
-123.72 137.944 mo
-131.69 137.944 li
-@
-123.72 157.944 mo
-131.69 157.944 li
-@
-123.72 177.944 mo
-131.69 177.944 li
-@
-%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-systemdict begin
-YNDRLJ+CMR10 dup
-/Private get dup rcheck
-{begin true}{pop false}ifelse exch
-/CharStrings get begin
-systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if
-/two <1C60D8A8C9B7A73DC50B0411757B441481CCF7EF812EEB9B3F6A07BD51
-606BCA866C4BD24CA34E86B9CA5A529B664F3EEDB6B4AF8A2B994DB57B49473E
-162231CB943675FE63E9B92B8AEBB62FB22456EC4173C66EF6C2F34FFEC22ACA
-E77FFFAAD70F3754CADC0D2CF63CB6D286D930AEA5A613E5AB9CB004BEAEBADD
-D070EDAF4FF25FDB6421F540D58D2C7A3FC40290CBCF831BE1B89B7F> |-
-/four <1C60D8A8C9B7A73DC579B9C1587087D4749982A674065FCDD01CF53F5
-4AF89DAF22339F0A467CE8D8CC25949B03A9DEFE86592098644AED5891ABD8D0
-71237FB9B66EF7648D767508B0BB1075A0AC676C770BFE6D0E818B53FD7884E4
-D8E6A983234A6E833EF72FF7FE587> |-
-systemdict /gcheck known {setglobal} if end {end} if
-end
-YNDRLJ+CMR10 /Encoding get
-dup 50 /two put
-dup 52 /four put
-pop
-%ADOEndSubsetFont
-/YNDRLJ+CMR10*1
-[47{/.notdef}rp /slash /zero /one /two /three /four /five
-11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L
-/M /N /O /P 2{/.notdef}rp /S /T /U
-11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o
-11{/.notdef}rp /endash 132{/.notdef}rp]
-YNDRLJ+CMR10 nf
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-113.758 81.1542 mo
-(1)sh
-113.758 61.1542 mo
-(2)sh
-113.758 41.1543 mo
-(3)sh
-113.758 21.1544 mo
-(4)sh
-%ADOBeginSubsetFont: BUZAAA+CMSY10 Initial
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-13 dict dup begin
-/FontType 1 def
-/FontName /BUZAAA+CMSY10 def
-/FontInfo 8 dict dup begin
-/Notice (Copyright (c) 1996 Y&Y, Inc. All Right Reserved. http://www.YandY.com) def
-/Weight (Medium) def
-/ItalicAngle -14.035 def
-/BaseFontName (CMSY10) def
-/WasEmbedded true def
-end def
-/PaintType 0 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 161 /minus put
-def
-/UniqueID 5096651 def
-/FontBBox {-29 -960 1116 775} def
-end
-systemdict begin
-dup /Private
-13 dict dup begin
-/|- {def} def
-/| {put} def
-/BlueValues [-24 -0 683 705] def
-/OtherBlues [-135 -124] def
-/BlueScale 0.04379 def
-/StdHW [40] def
-/StdVW [40] def
-/StemSnapH [40 56] def
-/StemSnapV [40 56] def
-/password 5839 def
-/MinFeature {16 16} def
-/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869
-systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup
-/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def
-/Subrs 5 array
-dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> |
-dup 1 <1C60D8A8C9C3D06D9E> |
-dup 2 <1C60D8A8C9C202D79A> |
-dup 3 <1C60D8A849> |
-dup 4 <1C60D8A8CC3674F41144B13B77> |
-def
-put
-dup /CharStrings
-2 dict dup begin
-/minus <1C60D8A8C9B08A946182837629008DF7702985522C1BEB4D11AB8A6B
-5589D8B615C840A4D8FD35DE7CD09D4C55DA8FE732830DDE> |-
-/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |-
-end put
-end
-dup /FontName get exch definefont pop
-end
-%ADOEndSubsetFont
-/YNDRLL+CMSY10 /BUZAAA+CMSY10 findfont ct_VMDictPut
-/YNDRLL+CMSY10*1
-[161{/.notdef}rp /minus 94{/.notdef}rp]
-YNDRLL+CMSY10 nf
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-106.009 120.739 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-113.758 120.739 mo
-(1)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-106.009 140.738 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-113.758 140.738 mo
-(2)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-106.009 160.738 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-113.758 160.738 mo
-(3)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-106.009 180.738 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-113.758 180.738 mo
-(4)sh
-153.215 113.33 mo
-(1234)
-[27.9999 27.9999 27.9999 0 ]xsh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-93.3403 113.33 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-101.089 113.33 mo
-(1)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-65.3404 113.33 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-73.0894 113.33 mo
-(2)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-37.3406 113.33 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-45.0895 113.33 mo
-(3)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-9.34069 113.33 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-17.0896 113.33 mo
-(4)sh
-.797 lw
-1 lc
-[0 2 ] 1 dsh
-true sadj
-15.705 178.944 mo
-15.705 16.944 li
-43.705 178.944 mo
-43.705 16.944 li
-71.705 178.944 mo
-71.705 16.944 li
-99.705 178.944 mo
-99.705 16.944 li
-127.705 178.944 mo
-127.705 16.944 li
-155.705 178.944 mo
-155.705 16.944 li
-183.705 178.944 mo
-183.705 16.944 li
-211.705 178.944 mo
-211.705 16.944 li
-239.705 178.944 mo
-239.705 16.944 li
-@
-[0 2.8 ] 1.4 dsh
-14.305 177.944 mo
-241.105 177.944 li
-14.305 157.944 mo
-241.105 157.944 li
-14.305 137.944 mo
-241.105 137.944 li
-14.305 117.944 mo
-241.105 117.944 li
-14.305 97.944 mo
-241.105 97.944 li
-14.305 77.944 mo
-241.105 77.944 li
-14.305 57.944 mo
-241.105 57.944 li
-14.305 37.944 mo
-241.105 37.944 li
-14.305 17.944 mo
-241.105 17.944 li
-@
-gsave
-253.705 187.944 mo
-1.70499 187.944 li
-1.70499 7.94397 li
-253.705 7.94397 li
-cp
-clp
-0 lc
-[] 0 dsh
-false sadj
-1.70499 -2737.06 mo
-4.24998 -2552.98 li
-6.79598 -2376.98 li
-9.34098 -2208.89 li
-13.759 -1924.66 18.654 -1640.43 24.614 -1356.22 cv
-27.16 -1238.41 li
-29.705 -1127.06 li
-34.562 -922.47 39.996 -717.87 47.523 -513.361 cv
-50.069 -447.207 li
-52.614 -385.893 li
-55.159 -329.236 li
-57.705 -277.057 li
-61.675 -200.65 66.029 -124.124 72.978 -47.9209 cv
-75.523 -22.0378 li
-78.069 .810059 li
-80.614 20.802 li
-83.159 38.1201 li
-85.705 52.9441 li
-88.25 65.4531 li
-90.796 75.8291 li
-93.341 84.251 li
-95.887 90.9001 li
-98.432 95.957 li
-100.978 99.6001 li
-103.523 102.012 li
-106.069 103.372 li
-108.614 103.861 li
-115.605 104.102 121.972 97.1501 128.978 98.03 cv
-131.523 98.7891 li
-134.069 100.48 li
-136.614 103.282 li
-139.159 107.377 li
-141.705 112.944 li
-144.25 120.164 li
-146.796 129.217 li
-149.341 140.284 li
-151.887 153.545 li
-154.432 169.18 li
-156.978 187.369 li
-159.523 208.293 li
-162.069 232.132 li
-164.614 259.067 li
-167.159 289.277 li
-177.002 416.085 182.398 543.453 187.523 670.524 cv
-190.069 738.33 li
-192.614 811.215 li
-195.159 889.359 li
-197.705 972.942 li
-206.34 1268.27 212.532 1563.68 218.069 1859.07 cv
-220.614 1999.72 li
-223.159 2147.62 li
-232.552 2709.84 239.689 3272.1 246.069 3834.36 cv
-248.614 4064.6 li
-251.159 4304.06 li
-253.705 4552.94 li
-@
-grestore
-%ADOBeginSubsetFont: GISAAA+CMBX10 AddGlyphs
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-systemdict begin
-YNDRLK+CMBX10 dup
-/Private get dup rcheck
-{begin true}{pop false}ifelse exch
-/CharStrings get begin
-systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if
-/A <1C60D8A8C9B08A941DDBC3AF1C109AC61AF06DEF14497758E2577FC09808
-E2F83FED36FAC5C5DF9845F9151204EBE19A62A093C0C714296A8AEB5EA72983
-7304C560208E23A9B00E450B7895C64B840FF7B8D2624ED826E8D6D1CB5BC276
-3958AE415A241BD617EA928FD9818043D58C39BCDA5256A3F17DFF2FADD0CDFE
-4A5999053732F0E5CE29974C519106> |-
-/W <1C60D8A8C9B08A949EE89938EFD2B089915D4CA87E50351E8DD3F3914A85
-384965AB9720D1BDB02951199DD63BE938B296E11B8132C78ABED307E15E2C96
-04E0EEA5C8FB1D25F45078482232C4120E0C6D7ECC100B9CF59823239764E960
-AC203F05154297337EBEC8D426CABE71C6D1BABE3D2EE87EB4EC26DC5A175D2E
-1776DC7CB846E1C76A588A844BC3111554540D100610F9152C35EB0670475763
-7F97762997D01BB6BF9BF94F9DBF981A5DB94B101F849599A265> |-
-/a <1C60D8A8C9B08A95C60527548E754D765DB4EDA6BA0D2CC6D8A620394D95
-5731400D0093175DD4FDCB6F936DAB2E93BD9C1B54BF99F619E92F88F8093B57
-6575F38778E5971C238BB03705C8902A6FCFED1FF202619A2D8A4C3FD818942E
-E7E0400EE37C1268C755A54355454E010823DC11303C9CDCFFF1370DF47DDE8E
-0505D81ACB493683AAFD9A5B8B94F66FF9ECA66884B26F31C72D900D51753830
-4DA83D95E97AC104F2FDC53254E575E01E9C7E8025E9> |-
-/e <1C60D8A8C9B08A95D1DE8AA71D3914AC9DDC5BFDDE55301EE17DAE184B08
-E53C36FBF9A44FDF3309DBE08895DBFECCF103737D7326528346FD01CD1D9FC3
-874638E8C50ADE3B494897353EB3188B512405DD1BA5DA59E8C179230F7C8D15
-AFCEA2228DAC03C77D614B36A41126CE831B41CDF160A67B175BB36C52353A72
-5460F4256C> |-
-/k <1C60D8A8C9B08A95F1118A977C6242CC6F5E327BF4A2BCE6E631EAC27F33
-5285F637895192724CE2C53641A392411149B8A3F127ECD7DEB11923D35A35EC
-238223B6B1C9CF9675A0C83B3A0C95C18823DF1B6F368BBFEEE7185E77AE9040
-378C34B27A11D9EE3C9721E2EAFF82B925C0F3ABE698646F0C4A57CEC100EA29
-86134B063D8450710541B66D42FC62B89A6AB4B6D6C05FC0E5F8EF9F1253768A
-DA78BF283C77228ACE6FD83E9384> |-
-/o <1C60D8A8C9B7FCB6A15C803B3B972EE31F5A721ABF9B8490D1BCABFAF507
-3D6D0835AA64493F9EC5B8BAE86BFF5C8028599ED438B3807899BF98EB3DF2EE
-9BBE5DC52FDB77ACA45EA052A40521B13F529CBBBB8B40F192297C658BE1CF97
-9B5618AA4355B6A77C9FC09641> |-
-/r <1C60D8A8C9B08A95A5BEE1199161ADD44E1E8B27A5C75D09130CF9546F37
-4B2A22381A06BD734F2C4BF093B03F9AF2D0D4C8BE8AA6899632B1BDCEA5F8FA
-27D0647BB27FC7927912A6761C3F8A51172D73B92082F06EFA277243DBD96EE1
-6421DB7B86390678EAD31E9D8E521BD186BAE7A8A68851384DC5E4933D7D1C5E
-E5A527356EDB77> |-
-systemdict /gcheck known {setglobal} if end {end} if
-end
-YNDRLK+CMBX10 /Encoding get
-dup 65 /A put
-dup 87 /W put
-dup 97 /a put
-dup 101 /e put
-dup 107 /k put
-dup 111 /o put
-dup 114 /r put
-pop
-%ADOEndSubsetFont
-/YNDRLK+CMBX10*1
-[46{/.notdef}rp /period 9{/.notdef}rp /eight 8{/.notdef}rp /A 21{/.notdef}rp /W
-9{/.notdef}rp /a 3{/.notdef}rp /e 5{/.notdef}rp /k 3{/.notdef}rp /o
-2{/.notdef}rp /r 141{/.notdef}rp]
-YNDRLK+CMBX10 nf
-YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-324.775 14.8624 mo
-(WorkArea)
-[10.8911 5.72845 4.72226 9.86591 8.65753 4.72226 5.25021 0 ]xsh
-%ADOBeginSubsetFont: BUZAAA+CMSY10 AddGlyphs
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-systemdict begin
-YNDRLL+CMSY10 dup
-/Private get dup rcheck
-{begin true}{pop false}ifelse exch
-/CharStrings get begin
-systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if
-/bullet <1C60D8A8C9B7A73D8D0B3FCDAA7E46FB68E7B1A6E412E25369E4ABB
-A70D277941C6A488EED866AD61E359C443EB0FEA5> |-
-systemdict /gcheck known {setglobal} if end {end} if
-end
-YNDRLL+CMSY10 /Encoding get
-dup 178 /bullet put
-pop
-%ADOEndSubsetFont
-/YNDRLL+CMSY10*1
-[161{/.notdef}rp /minus 16{/.notdef}rp /bullet 77{/.notdef}rp]
-YNDRLL+CMSY10 nf
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-283.593 34.7875 mo
-(\262)sh
-%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-systemdict begin
-YNDRLJ+CMR10 dup
-/Private get dup rcheck
-{begin true}{pop false}ifelse exch
-/CharStrings get begin
-systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if
-/parenleft <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8BB61D8ED
-90A20EE239C62172B553BFF416342D6CD99C95C515CA225C40039DBAF08CE4F0
-55B08F39C15D29C99EF3EDD066CCCEF8932365A3BB1620FA5F0BCE8AF21A5BDE
-C0FFD55FA45F247FC811007CB408F0DCDD3AE01E3246> |-
-/parenright <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8A207F03
-DEA8F466C0D4F860EDF515D421F89285FC2D8EC76F5E903EDE1B5CFFAEC5DEA9
-22C7FC4A51953A99A5FB1F96793348D816F60492670058F4DEA6D328AB20FBAD
-B3C1B57A79D8CCD13A3C6D068BAD5F09F347ED0C895> |-
-/hyphen <1C60D8A8C9B08A959E2F69652E8B76AC2AC5B4F1FA8662A86AEED57
-846929C2FBC07360B> |-
-/colon <1C60D8A8C9B08A95708109816759149241680C741B6923EBD56E6248
-E5269499A7D548A5AC3ECB516C4A5048666940A11AD8CB54F4BA847274447EEB
-614F54B956BBCFCAD8E88A403FBD4464DA283ACB> |-
-/semicolon <1C60D8A8C9B08A9570810981675918D0BCF1CD202F5F8524F1CF
-461D4270459E44DB560BC854C3F48DFD92347C27A6AAF0E2B1A04AFEB82D8D46
-6FB78A9BF2E74CE09AE4A8F352791B5C7110FA6307B2916ECC9F5904CC094CEE
-59D67B4016AFD5BCFCA64E9EC736BD726D1A09B76CECE761EBE5219FDE764D2A
-9C6D289DBA39E76263> |-
-/equal <1C60D8A8C9B08A946182837629008D945C50B3BD77B79680F3B07BDA
-6301D2521ADF665EADEA779B8650AC6CDB556621631497A3BE00C67036F6EB06
-05A36A2C0EE306396247E4A79F8EFAE500D78B59605F041F11> |-
-/b <1C60D8A8C9B08A95C5897169EED96641DA8B10CA087E6B7A5588052BABB7
-BC0836B12A49068694BF7254A2B820A876E020738250AC32ED44C3A7F2C5F700
-C2D03E307AFB7135F6415FEEB6D856569E9D5429B4DD3F524606607A7502F4FA
-00BE0184FC677554B2B6367E60A281A4837A2231515AF09B33399B7D5C3D2E8F
-3A2971F2933C4A4CAAA727A80DBDC9692BD6B38D543D422C14068650D2C61B6B
-E587855459543E451B14A31F96D9B341DFF415> |-
-/d <1C60D8A8C9B08A95C5897169EED96D33CB6A9013DDE3D04C2845E595598F
-3E2E6D79295DF7CC9B6C00D2CF2AC2502697856E5474C945441376692CB09ED9
-25CE9D4F710C7DE089B5E658450CEECC611DD1F25787624443E710373775DB0D
-7A6478B3FD4F82DF4FC109429D4EADCED1BD77A35BF25A1C1E584B0EB23CE621
-6847A21EE88B35D72221C7F9F0705E61C9F9C0A224456A04D3E81DE0BD98422F
-FA8C7335713899937F5FFEC7771BB8FDAEE53DE3E6> |-
-/h <1C60D8A8C9B08A95C5897169EED9664BED359D179BDDBB0B44F78A354068
-F188259C421AB0565D2C93368C7FE6E0A9F40BB196D1F23D06A9B4099431512B
-C136412B8071F881A48FA8A97D03ACD06EBB8221F2FCB171D9A905549A8F7881
-2735FA48F2EC00ACCEB309920B412B3F60D0173EF224E4CB3F5C1DAD9CC6147F
-9ADED8EC6C9533B7B1AABCF5D1E9B7F36A2D4B8D2B26EAE8EA> |-
-/i <1C60D8A8C9B08A9570810981675968AD25F24D2B3EAE33A4AEDADBE9B65D
-A53E9F2E54B16133284CA9914BED3880C793207FBDC7926300AD07E6E54407B5
-1EA082FB5EE3816A6A23A8296A947037E4E873086619D7E86B5A60AFA576E554
-D14C9B74D403098ADE85F71880A3E75D7FC1> |-
-/k <1C60D8A8C9B08A95D222871B45C8170346D4B3692EE324314ECB68C750E8
-0C39C0E118E6175CCD69769E2118B02E8AEF864A1ADB8D0BF5A5FFDD4A9B9B6C
-C867F43FFF5A7BBEB959851C5A4053DF1F3B8EBF64DEEC6B682D7055139D4103
-B0A63AD1D8193F253FA365D16CC3EC1AC7C7AEA533CCF6F8272FF6B8CD1FC7B4
-0DE006133FBB2B23E8E1776C461B4D8ABE09C8DE32B25BAD44EC36CACD378C29
-9496103B1CB809290EFAF69E7582E8754F6B25D7A0FD> |-
-/l <1C60D8A8C9B08A9570810981675968AD25F317189905083B97CD6CD1B880
-05B79B666989E13C0F8D0889AD0162C7E87274D188EBBD1A911FDD0B6E360AA1
-C515725198B9106B157680FC> |-
-/n <1C60D8A8C9B08A95C5897169EED9664BED359D179BD38846B55E34D4CAA6
-E85E9CF3F20D5FF6B35F1C9AAE2A542B7B24E087B6004A4C7219997095CC0DD0
-7A15DB83B5FEAD13F209441FFD364AD3DBF6E16129F3599BACA005A523490ABC
-41E4DF320ACE384037EE1D352E3FAD8A9E2CECBD75A999F7B655F4FFBFAC6FFF
-84029A8DF710DBB0D7CD4C1D20367E79BC4E3121199FA9593C876B29EA793F10
-2A1E36BE8056D0377A> |-
-/p <1C60D8A8C9B08A95C5897169EED91609D9E4D5F91353B4B61FEC4EAC5FAD
-7B5032144CF9ADF0F974C4F1789F7935ECC14F06F084A964A5CA17285CA0C9EC
-1B8F57A0E66AEAF75BA11AE734E6416585ED4DB12A3372EA2BA1BABC0DE7BE87
-584CD6EA8819CE99CB18F04E8ECD619D7E02CDE60A0AA18597DE62AF13ABCC5A
-5F1D59EBFBBEF560144EF0DCE1B387B4BC40F158468D6A4DE477659B50190482
-6F081FC4942E5187D9F03F6D1BD471F55D6300> |-
-/r <1C60D8A8C9B08A9584DCB847BA986212E50A0E258C2648145E7BCFAC2BA8
-6C36E84B654FABD35F6BE558D4B54676EA44C57F6EF668BC4866822048422FD6
-D8B608EB2C1C67EC3EE3CEBDD94E9A9214F99F9DA8EE2F6900EB47053AC763EE
-DABCA0360701D8CB383B9ECCD7B848D18CFB88761A167471DE407F7BED4BC50B
-779C4D57BF133C3E4777AA4605171C6D> |-
-/s <1C60D8A8C9B08A9586D4F7B21AA9B0967A13D9D7A42FE5E3505E2F3EE7CA
-FF99F258F00E5A08E889C3CC5D8ACF7164CD2AC0013AEF91C534D4ACEB36DB05
-CE0E820904C7EB6E6797C2D5FB5E96476FD3694427C3F770022BFE939EC57571
-FAC1F965E0A7F32B36C86522DA3AFB3A309E4B5D72F0E56F1BEB5C7254CECC22
-9B1219F95DA80187F2FFAF15E03AF5B396BE650B53989F1A64B4AA9655D1019B
-496166D38FC8961ACDA2D0B1533422796A114C02DCAA98A8558155EE2C970442
-944A032E8A6A4004C15A48F9176AE45E44068C23BC> |-
-/t <1C60D8A8C9B08A958B2129D6E9766AD6B3247B9CBDFB0724765D43ED23A7
-B2BC7B24077C209594776C48799589E3DF7269407A6893D4C106057122D99E3F
-649ACAFBE1812EEAA6C4DCDDD716BEB7694626BFFCAE715C15EF0FD8CE9F6FE4
-E96B03> |-
-/u <1C60D8A8C9B08A95C5897169EED96D33CB6A8CCD6F539BADC574F30FA019
-2FAAA0351E8C93175F4B6BE4D2DCA8A13E4F01BEC5788441B5C71C1247369B6B
-73137454B1C207EA4F43D533FE87512BAD8DD4F3DBBECD9A7A1CE3F33A4D3F31
-6952FDB339B4B6A937009D6EC9821D8553981B7D8AABC3E750369071> |-
-/v <1C60D8A8C9B08A95D222871B45C81C126204E8A3F3EFC2EBF937B1E5F2B8
-737EDCCFF78DB8693FA0E7B559CFAC0A233112105FC1A8807ADD3013D4AE86C4
-38318F1223CADD606642DF7E9A8EE9BE743E975DA759D856D52F7E927FE33606
-3979ED38AB2E1EA4CB4F371A1EB04E6C5B864C9DB5271435AB2DE7D9DE15A6B1
-D9E3FD555F015DADE467> |-
-systemdict /gcheck known {setglobal} if end {end} if
-end
-YNDRLJ+CMR10 /Encoding get
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 45 /hyphen put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 61 /equal put
-dup 98 /b put
-dup 100 /d put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 110 /n put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-pop
-%ADOEndSubsetFont
-/YNDRLJ+CMR10*1
-[40{/.notdef}rp /parenleft /parenright 3{/.notdef}rp /hyphen /.notdef /slash /zero
-/one /two /three /four /five 4{/.notdef}rp /colon /semicolon
-/.notdef /equal 3{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I
-2{/.notdef}rp /L /M /N /O /P 2{/.notdef}rp /S
-/T /U 11{/.notdef}rp /a /b /.notdef /d /e
-/f /g /h /i /.notdef /k /l /.notdef
-/n /o /p /.notdef /r /s /t /u
-/v 4{/.notdef}rp /endash 132{/.notdef}rp]
-YNDRLJ+CMR10 nf
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-293.556 34.7875 mo
-(Theend-behaviorislike)
-[7.19299 5.53922 7.24979 4.4234 5.53918 5.53922 3.31747 5.81616 4.4234 5.53918 4.70435 5.26025
-2.76959 4.98129 6.73172 2.76962 6.75162 2.76959 2.76962 4.98328 0 ]xsh
-%ADOBeginSubsetFont: WRBBAA+CMMI10 Initial
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-13 dict dup begin
-/FontType 1 def
-/FontName /WRBBAA+CMMI10 def
-/FontInfo 8 dict dup begin
-/Notice (Copyright (c) 1988 - 1996 Blue Sky Research and Y&Y, Inc. (978) 371-3286) def
-/Weight (Medium) def
-/ItalicAngle -14.04 def
-/BaseFontName (CMMI10) def
-/WasEmbedded true def
-end def
-/PaintType 0 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 120 /x put
-dup 121 /y put
-def
-/UniqueID 5087385 def
-/FontBBox {-32 -250 1048 750} def
-end
-systemdict begin
-dup /Private
-12 dict dup begin
-/|- {def} def
-/| {put} def
-/BlueValues [-22 -0 683 705 431 442 453 466] def
-/OtherBlues [-205 -194] def
-/BlueScale 0.04379 def
-/StdHW [31] def
-/StdVW [72] def
-/StemSnapH [25 31] def
-/password 5839 def
-/MinFeature {16 16} def
-/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869
-systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup
-/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def
-/Subrs 5 array
-dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> |
-dup 1 <1C60D8A8C9C3D06D9E> |
-dup 2 <1C60D8A8C9C202D79A> |
-dup 3 <1C60D8A849> |
-dup 4 <1C60D8A8CC3674F41144B13B77> |
-def
-put
-dup /CharStrings
-3 dict dup begin
-/x <1C60D8A8C9B08A95C3B1459DC8650F9F96183FC46268F5BDA744B05C84F8
-C7E5FE6BFCA9D4C8BD3488080E8FC96F34EA177DCAE190D27F37102D2F45514A
-ECF6E4A3B2E6F401810D0AF13E4BDFDB8118476E04C9DD93F8884F46C9ABEE13
-C8E7992449902F6BC3D518B2A70293976C8BCE67ED913D975C52E884BF7F46CE
-8DF8170D79262260A6CB5A6A088C0A964E0271DA63944ABA9C96D1AA58CB590F
-97DC9C8372606676C2CA18B1A9303EBF11B510FAB8A33E9B530D274E48DD09EE
-8829EC16181BBC16C4E81343ACB5386F22A9C0CA2C23959102E833> |-
-/y <1C60D8A8C9B08A95A3A690DEE11C2ACFF7516D4A7CDA884FB3B130648C63
-2F41B68B5E071E6BAD692658125A4CE9A4427A55054BF5DABFF855AF9D186215
-1F50AD5D2EE36E064C9718B8694EF83525324184D7DD07A10B9FD203C707D849
-3E926469CD1C36E94D5785557A2D95B556774E51CEFBAE2CC8AB735FFF293AFE
-FA32B8D1FD5C52EC860AA6EC20816B24BD1EB69FE8581708322D6F09A08B3182
-91EF57EAE554A00C60D585B786E53371A6D3FB2D8729C3F2C51DB65ABF8CA421
-EEB103AED2CB924D829D66429CF6664CDEAFEEC4AD07C95E7FE8BCAB5D2A1AD6
-731779D5> |-
-/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |-
-end put
-end
-dup /FontName get exch definefont pop
-end
-%ADOEndSubsetFont
-/YNDRLM+CMMI10 /WRBBAA+CMMI10 findfont ct_VMDictPut
-/YNDRLM+CMMI10*1
-[120{/.notdef}rp /x /y 134{/.notdef}rp]
-YNDRLM+CMMI10 nf
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-399.866 34.7875 mo
-(y)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-407.875 34.7875 mo
-(=)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-418.391 34.7875 mo
-(\241)sh
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-426.14 34.7875 mo
-(x)sh
-%ADOBeginSubsetFont: KEDBAA+CMR7 Initial
-%ADOt1write: (1.0.24)
-%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved.
-13 dict dup begin
-/FontType 1 def
-/FontName /KEDBAA+CMR7 def
-/FontInfo 8 dict dup begin
-/Notice (Copyright (c) 1988 - 1992 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def
-/Weight (Medium) def
-/ItalicAngle 0 def
-/BaseFontName (CMR7) def
-/WasEmbedded true def
-end def
-/PaintType 0 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 51 /three put
-def
-/UniqueID 5000790 def
-/FontBBox {-286 -250 1122 967} def
-end
-systemdict begin
-dup /Private
-13 dict dup begin
-/|- {def} def
-/| {put} def
-/BlueValues [-20 -0 683 703 431 446 664 674] def
-/OtherBlues [-205 -194] def
-/BlueScale 0.04379 def
-/StdHW [36] def
-/StdVW [79] def
-/StemSnapH [28 36] def
-/StemSnapV [79 95] def
-/password 5839 def
-/MinFeature {16 16} def
-/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869
-systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup
-/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def
-/Subrs 5 array
-dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> |
-dup 1 <1C60D8A8C9C3D06D9E> |
-dup 2 <1C60D8A8C9C202D79A> |
-dup 3 <1C60D8A849> |
-dup 4 <1C60D8A8CC3674F41144B13B77> |
-def
-put
-dup /CharStrings
-2 dict dup begin
-/three <1C60D8A8C9B08A95C25148D4A67F69EFB9DDFA5ECA5AE37566D87066
-172F8CABE2B2CB84CA762EB5E603C8A9A699CCCFA6A0578E3DA76E6C9E7B5A84
-45F01D818A380DD4AC46AFDB5422B8800FEF2E8AFDA86EDD8199C34D64992E4F
-43992CF1D54B07E3F575480A9A0B868375A4E2A9893BE0AEBB713690AB6C5B93
-E6D8D619357F90F56F58A8525CC0A1BD91DA9365507B440F549B60D4E7E5CBB3
-769D4C82F061F9E20A25AD23418551374D804A6B25C8CE003D> |-
-/.notdef <1C60D8A8C9B08A958AA685092D4752> |-
-end put
-end
-dup /FontName get exch definefont pop
-end
-%ADOEndSubsetFont
-/YNDRLN+CMR7 /KEDBAA+CMR7 findfont ct_VMDictPut
-/YNDRLN+CMR7*1
-[51{/.notdef}rp /three 204{/.notdef}rp]
-YNDRLN+CMR7 nf
-YNDRLN+CMR7*1 [6.9738 0 0 -6.9738 0 0 ]msf
-431.835 30.6743 mo
-(3)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-283.593 54.713 mo
-(\262)sh
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-293.556 54.713 mo
-(x)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-299.25 54.713 mo
-(-int:)
-[3.31747 2.76959 5.26224 3.87555 0 ]xsh
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-325.685 54.713 mo
-(x)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-337.496 54.713 mo
-(=0\(even\);)
-[13.868 10.3123 3.87552 4.4234 4.98328 4.4234 5.53922 3.87552 0 ]xsh
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-397.897 54.713 mo
-(x)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-409.708 54.713 mo
-(=)sh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-423.574 54.713 mo
-(\241)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-431.323 54.713 mo
-(1)sh
-293.557 66.6682 mo
-(\(odd\))
-[3.87552 5.25827 5.53922 5.53918 0 ]xsh
-YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-283.594 86.5933 mo
-(\262)sh
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-293.557 86.5933 mo
-(y)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-298.799 86.5933 mo
-(-int:)
-[3.31747 2.76959 5.26224 3.87555 0 ]xsh
-YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-321.623 86.5933 mo
-(y)sh
-YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf
-329.971 86.5933 mo
-(=0\(passesthroughori-)
-[10.8572 8.50607 3.87552 5.53922 4.98129 3.92523 3.92523 4.4234 7.45001 3.87552 5.53922 3.9053
-4.98129 5.53922 4.98129 9.06396 4.98132 3.90533 2.76959 0 ]xsh
-293.557 98.5485 mo
-(gin\))
-[4.98129 2.76962 5.53918 0 ]xsh
-grestore
-grestore
-pgrs
-%%PageTrailer
-[
-[/CSA [/0 ]]
-[/CSD [/0 ]]
-] del_res
-/YNDRLM+CMMI10*1 uf
-/YNDRLM+CMMI10 uf
-/WRBBAA+CMMI10 uf
-/YNDRLN+CMR7*1 uf
-/YNDRLN+CMR7 uf
-/KEDBAA+CMR7 uf
-/YNDRLJ+CMR10*1 uf
-/YNDRLJ+CMR10 uf
-/GLAAAA+CMR10 uf
-/YNDRLL+CMSY10*1 uf
-/YNDRLL+CMSY10 uf
-/BUZAAA+CMSY10 uf
-/YNDRLK+CMBX10*1 uf
-/YNDRLK+CMBX10 uf
-/GISAAA+CMBX10 uf
-Adobe_AGM_Image/pt gx
-Adobe_CoolType_Core/pt get exec
-Adobe_AGM_Core/restore_mysetup gx
-Adobe_AGM_Core/pt gx
-currentdict Adobe_AGM_Utils eq {end} if
-%%Trailer
-Adobe_AGM_Utils begin
-[/EMC pdfmark_5
-currentdict Adobe_AGM_Utils eq {end} if
-Adobe_AGM_Image/dt get exec
-Adobe_CoolType_Core/dt get exec
-Adobe_AGM_Core/dt get exec
-%%Pages: 1
-%%DocumentNeededResources:
-%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0
-%%+ procset Adobe_CoolType_Utility_T42 1.0 0
-%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0
-%%+ procset Adobe_CoolType_Core 2.31 0
-%%+ procset Adobe_AGM_Core 2.0 0
-%%+ procset Adobe_AGM_Utils 1.0 0
-%%DocumentNeededFeatures:
-%%DocumentSuppliedFeatures:
-%%DocumentCustomColors:
-%%CMYKCustomColor:
-%%RGBCustomColor:
-%%EOF
+<?xpacket end='w'?> + + +% &end XMP packet& % + +[{Doc_Metadata} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark_5 +[/Document 1 dict begin /Metadata {Doc_Metadata} def currentdict end /BDC pdfmark_5 +[/NamespacePop pdfmark_5 +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: 1 1 +%%EndPageComments +%%BeginPageSetup +Adobe_AGM_Utils begin +Adobe_AGM_Core/ps gx +Adobe_AGM_Core/capture_mysetup gx +Adobe_AGM_Utils/capture_cpd gx +Adobe_CoolType_Core/ps get exec +Adobe_AGM_Image/ps gx +%%EndPageSetup +1 -1 scale 0 -194.951 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +-7.62939e-6 0 mo +-7.62939e-6 194.951 li +256.793 194.951 li +256.793 0 li +cp +clp +false sop +/0 +<< +/Name (Black) +/0 +[/DeviceCMYK] /CSA add_res +/CSA /0 get_csa_by_name +/MappedCSA /0 /CSA get_res +/TintMethod /Subtractive +/TintProc null +/NComponents 4 +/Components [ 0 0 0 1 ] +>> +/CSD add_res +1 /0 /CSD get_res sepcs +1 sep +%ADOBeginSubsetFont: GLAAAA+CMR10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /GLAAAA+CMR10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def +/Weight (Medium) def +/ItalicAngle 0 def +/BaseFontName (CMR10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 51 /three put +dup 53 /five put +dup 65 /A put +dup 67 /C put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 97 /a put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 111 /o put +dup 123 /endash put +def +/UniqueID 5000793 def +/FontBBox {-40 -250 1009 969} def +end +systemdict begin +dup /Private +13 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-22 -0 683 705 431 448 666 677] def +/OtherBlues [-206 -194] def +/BlueScale 0.04379 def +/StdHW [31] def +/StdVW [69] def +/StemSnapH [22 31] def +/StemSnapV [69 89] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +23 dict dup begin +/slash <1C60D8A8C9B7A73DB56225352A24C6E389DE2B55CA06CAB1D904D74F +E21B6520E910DE6837DBFFB95567192F781E541A03B8446689265DEAE7140ED2 +3D1C3943714CDFC12315> |- +/zero <1C60D8A8C9B7A73D3B2D32309B1F5D5A32FC3614834F8BC61B6EB92C1 +2484BD76628737DA40CF9DA1C97CCDAFB1D1B732C642F74A7C41B7D3AC6DAF8D +1E760692B6EBD2417EF1893A4AA0B1CF049D4C54D830CEC073A9153D451FAD42 +892B0930AEE4FE18588336BFDAD60D8A4F4CFFED76F103FB9BBD8A33EFBA3F18 +232B88D88FE54E17260FA3E2CC29DEC0CB72B88DC816FF5> |- +/one <1C60D8A8C9B7A73DC579B9CE13A4EA8C203AFC890ABD6F58341B006CF1 +BDD8FED3A7238E01F751FEAC75885229C293891E5636AD630D9C884528B6FEF0 +0728A740ED77D054B4743ECA5E3947520FEF6B23D548765D11> |- +/three <1C60D8A8C9B7A73D3B2B97DEB4C7BDB68E0D63865C8BF294429AD1BA +AE59A25299F9306A9E28AA5C0C0AF9F97F56096DB0FD0EC440ACCE834B0BA539 +2FD94D026768A961AA5D1A88FAE30F2B2033E77AFAB55B0B9C8092CD226DD9EF +EEAAF5CD5AE79D6DDEC4C37DC43DE3B85DD2A2EC4DC0C9F349D5E8F9F615782E +DC8C53805553FD3C0007C1818BF3D99AB659A079ED36132BBDC613CA63D7A0FE +429706DBC6BA998CE56A89C002758EF37F90A390F83B3DFE49D312FA66FDF2F1 +6212D1503559B35FC2DB8BD5A49535> |- +/five <1C60D8A8C9B7A73D3B2B97F19D54A2E00E7DDA8E72064220CB7581D13 +CEDF071F346430E40993A6297E3A2A6D6093205222D977AC7F7B65CC82B221D9 +B18ADEA5D4AF0261ABF060D3E283C7B3B5EB39FF499721FD51203AE59E3BEA25 +7DFD3E472FEF67221488EC8D1F355E2FAD057CA44A8B4BAD6C6C719C164907CB +F9A6CC770DB0C7E58A37D2385E23F576BCFF94FFBFD8ADD4C5E6C32CD83ACEB7 +7472D00FE1A4DC66393A99AC6BBD252B04C98B710149EA42B66ACE89D4FC4393 +F3A09165DF477ABCB0E8A8DB21E4278CA219EBCC9B067F92619913BDBD1EF3C9 +A> |- +/A <1C60D8A8C9B08A9501CDAE1251A61DF6E2312CA41635F6CE1D00B63E171C +70F84D42F62A21A6DD37D84C279E3FAE908D39B730ACD671ED9E277ACFE833A1 +1F48F076C9803DC08258033731BCBCE19DF3B81C1C298B382A15FAC94387A992 +AD9631716A7ED4F711137D6C851AE1C8DCBBFBCF7274E882226E58958CE6283A +197E7FAE3A2D0F6C24FA411BECFB36A10FF2A923EA89ABEFAD5AB23D600F> |- +/C <1C60D8A8C9B08A9454CA4C75C5C983901A105955FD02AB95A1C2D2A205D6 +C9A19566388580DAF81E45849DB37660797B67B5A88B6906602915C5F5C9B0EC +D18BF9F52BC4BC58CA3DC88745B8BAABAD3D92E461BFB415E7240305CDDA1D0D +B5D35FEBC75FFD4C053E78B6CA772ACEB0C2FF98C08B672F492F305E0C5F3841 +918729B4AEB78A65C2A83364408240D8D653DA56F4DCB028D3D78F3C2D6BC7> |- +/I <1C60D8A8C9B08A9591900960B3FA4612DFF926AB21A530E1912F33677612 +AC06B324D812E42049FF4946BE5E0FFA24FA0C62F2839FF2110EEC7EE0A42476 +46E6F699D4C8BECE1825B3A661611E4D55F40F2E64FACB836D4D0C9780F60650 +FBF10E0D42> |- +/L <1C60D8A8C9B08A9504870DC577BFF1117CB147078FC0444648398262998D +8061E386D366188391878ADBE16C10A3B1BC6A93F56BD64AE45F8370470F419D +A43CBACE3D7B1152502CD0CF1468D72D3CB197A29E71D336CDA7D6BAA426EC1B +681825BDDC37329099DC579F155C> |- +/M <1C60D8A8C9B08A94284A0D047609A407E661A852E250B140B4157477FB2A +AE2E22210B2D780B692B0718211E5BD86C3DCF8087849BEE2B9F6D1D8621E40C +8FBE892AC1B23002BF18819E26C6741335DF8DA8AC82506D7051C0505D48DDFA +17EE84A06E07C05EBAC6174D600BACE071866247BE6C83F4CF28F6D6EE6A6CF8 +A788C4FFFDBDCA978C2B0B201753D21CB7AF0542C690ECE8E7EDBE1B1FB29939 +734E35E0ECCA8BA7FAEB58AC205A8A82A94C960A65> |- +/N <1C60D8A8C9B08A9501CDAE1251A61DF6E23FBE9059A2A88492E84D61402E +80BD80B5057FF8914FA4679EB3900C60B246DA77BF837041B1C053FCD543E3D1 +D259FCE953A74E40366D604A99F9233772AC97F872D505329B1446640ABD99E4 +AC723C39DD6EA376A043CE3633F04D9BC6DEFE2E1A831DBB9C16F90A966DFA0F +3802BB1EB0AA3DAEB0E864B9D3CC3E14AE1E9219B48660289CF348B4E280> |- +/O <1C60D8A8C9B08A946182837629000F56F09862ED5AA400F2B4EB929FCD0B +6F40CAF45238A67BE496742823610F15AF19832E8EC09C64557C48DB0BC41E07 +C1B98081893CB2216BAE4CCECC72A02E2F6B8D0FE8B2E6548D00AAA585F02486 +772A4FC1258C2982A5ECEC> |- +/P <1C60D8A8C9B08A94478101EE5603CAF9EA65868978F157B7D9DB71203FAD +46B85DF1A1E477012038D20B3756C0124AD7E2F6ACCB98150AB793091E3E7A8F +3C0AE6FC8D7A5031BB678671889D46F3A15BD495F1AB5B7C8F63325E15B44523 +174D09593A38714FEB5177883F725186FE6BF7095A24CD9EDEFA3551580A0E2B +0B49AC2002> |- +/S <1C60D8A8C9B08A95C5897169EED99899F86A6DCF3CD291B001131D3BCB45 +BF71748507542417352D5B30F63C60EB90DCF55005F88E95175B21D3219CD9E9 +2E89E417B177D285600845553F66626D2225552D23A7697637BDCEEECAEA18AB +42A896E96FF5B3536CC368A5F7504B6C75D962A4B5F9534F79AC78DC99848461 +42257A40DE257430C92806EBA73FF7D93DF0A6C207299E2D17F4071F9096D016 +163F4D3EC1889ADA266D3682F2D99904573A5022A10E61069737F2D55F919F95 +A33DB6DD2667321E4727855B58DBF4B1E5A294928E6CEABFBD34F296C1B758> |- +/T <1C60D8A8C9B08A9454CA4C75C5C97DCE7AB32777FAAECD12647866E7CB3F +CCDC541E37F2225E520DEDE695980D4012AD5B972BDABC7E7E5410E71AC63692 +4E778B3131B6C4D1E76F8C4592AC311A2107F53DC1850538C9E487E6D5DBDFE8 +027D7126BA9ED8B24E7379B57E474ACD298BF6B3700CC970D80111DD98EFC872 +C24D0DA3C75DDDFD177C6D15> |- +/U <1C60D8A8C9B08A9501CDAE1251A6E3AF1199B24D30F25809B39A0DD6474A +CF1BFDB89F5985BBB0F2E5FE7296314FDA462BECDBDEA31B3750001975D37A8B +F31F224CAB5093B8997B856DAE5F9007E1497BEED45CA8AC033A65F773653762 +77BFCDF39A2D8F1BC8E5626BEEEF5D670E87E32F25C0530E88A4E2B9AD6D8333 +3A6C173F8B22714E74A224AD610C2B1EAB> |- +/a <1C60D8A8C9B7A73DCB03313BCF7AD8C8EE234E5372D46A65E92A78F4B7E0 +2ECC58F71EE6C027AD4D56C5E4DE1AF1031295DC17C0E7AC8D8358634F9A19B0 +2A110E5539C10136C68E0D2CBEA6658A501D9D73323861F8C29EB92F9080ACC3 +E236C5F14389534682EC2925F59CD4A215569A7BD7B9F7827A30BA75EB840535 +B2A2C8F92AD166CE93D277314A4C690C47DB847F73BFE1049631CDDB9124FD76 +2753AA8DB187C216AFB74F76299B3C51610D74CF31321BBFEB5CFCA7D213C896 +D1B8E57EFC05695F2F73> |- +/e <1C60D8A8C9B08A95B1F07368C45D8D2AF4BC97E4CB216B20786BB8409E5C +B0892E60E7F0AD9AC8433678C58AAD59736BF9700A3AEB0B5352F4A898A5EEFB +C72A64BFB45B917D9879BD0577DAB96A0E86BECAB5E8A8A051E5E40886D5A00C +EC53E0A3265FC74195574846689BF9F38086985C2DD3223390D51155F707CE86 +59EC1C65A75BE9A0BA862DB1A00FF6A01FCED7E6> |- +/f <1C60D8A8C9B08A956BA65798425CE9B0A78F07A04AF2F8524751F181F94C +EF756ACD6AB92BD09462A05FB08A9160A0AB5267B62445F916DEFC1DAF3F1FB4 +B3761F71CBE3290960500C788D04CB45BB0A2825753AA6E46495F35A08389AAA +C80F35ADADFB7ACE340FEC03C9E5F9A50A8AD731E7A553A32F387574697F9CAB +2E100B6DD6E3525398F6> |- +/g <1C60D8A8C9B7A73DB58EA28807584EB19BC6EA1448A12312E623B90358A1 +63CFC67672A34CC74B0AEAADF24229DF1CCAA1488AE3E348FE2ACD572EA487EC +9D77FBB0710AB421B03DD5B8AE5519B5C269E9648E819E7ECE806EEF16A6618D +07D9AAB350E57F26F5259E8FCF9E5C2D96BBEAD16502F9E7819E854042DDB2BC +674C39681CC2E5224219582BC7B59BBAEF869C9DF91CA7770A97BAD53C3C3A99 +175BA8F0A5744B5969D3BC15831A95918F7C707E41F5D87B8DB2D57378BC9C29 +7DAE69E4BF438246E63F565B22D86CBE28DEF748262FB9FF82A88935451D6280 +A28F1AD964E6E476D5779321E42D3A86BE41122F1BED36C3DC47E1E01C225345 +98D0431873197ABE1C8EC03B4011E4B26D249635BDBABB8E5B69BE07AFA65F88 +EAF6> |- +/o <1C60D8A8C9B7A73DCEB07E09D16841D605E4F67059E6B258F546B80703E4 +CDAF20027B900118209D5372F965F2045D50C02A29110A048C891DEBA3210CDF +C5CDE2309C0CDE0E4855E9F6D8954C4C68826A14AD2E4C6227A036D85D304D6A +96FEAA92DEC3CD1B9F4AD57B5F1EBAB070FE911461A7D5B958F5> |- +/endash <1C60D8A8C9B7A73DB9B60A0DBA4B5FB3A045D6B65F12EE5E3DC48D3 +43D8E> |- +/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLJ+CMR10 /GLAAAA+CMR10 findfont ct_VMDictPut +/YNDRLJ+CMR10*1 +[47{/.notdef}rp /slash /zero /one /.notdef /three /.notdef /five +11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L +/M /N /O /P 2{/.notdef}rp /S /T /U +11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o +11{/.notdef}rp /endash 132{/.notdef}rp] +YNDRLJ+CMR10 nf +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +-31.697 -36.8879 mo +(MAC1105/T3{Page5of10{SOLUTIONS) +[9.13578 7.19498 7.193 4.9813 4.9813 4.9813 4.98129 4.98131 7.19299 92.4629 8.30183 6.50756 +4.98131 4.98129 7.74393 8.30185 4.98129 6.36908 4.98129 8.30182 195.931 5.53922 7.75089 6.22662 +7.47195 7.19296 3.59644 7.75098 7.47192 0 ]xsh +%ADOBeginSubsetFont: GISAAA+CMBX10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /GISAAA+CMBX10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1994 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def +/Weight (Bold) def +/ItalicAngle 0 def +/BaseFontName (CMBX10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 56 /eight put +def +/UniqueID 5000768 def +/FontBBox {-301 -250 1164 946} def +end +systemdict begin +dup /Private +14 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-11 -0 686 697 444 453 655 676] def +/OtherBlues [-201 -194] def +/BlueScale 0.04379 def +/StdHW [47] def +/StdVW [114] def +/StemSnapH [40 47] def +/StemSnapV [114 142] def +/ForceBold true def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +3 dict dup begin +/period <1C60D8A8C9B08A9560D4C2F3A74D92838E83B7DC14B89478B799496 +0CFDC6D2144A34A20CA36052335682902BE7739DD> |- +/eight <1C60D8A8C9B7FCB6A4EC6CCC71FFBC41969F86A86636A65E5BD14FD4 +EBD93FCE205F86ECC615335CAFE8E2240019DB970894F9979E3FDF252D8A9472 +1B680E23D2DF204A99891D5AD0E347695938A6FCE4923A098978EC0AC2A3894C +8A94767FEBA61293F9C489BAC7A89726BFA765D56F2D198E99D500D81046ACE1 +5301FD9FB36D2F2E4EAA017CCF306EAEC8E157B40FDE6DC2FA713180A587E730 +6AD0870F441697503D> |- +/.notdef <1C60D8A8C9B08A95899606B6B060A7> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLK+CMBX10 /GISAAA+CMBX10 findfont ct_VMDictPut +/YNDRLK+CMBX10*1 +[46{/.notdef}rp /period 9{/.notdef}rp /eight 199{/.notdef}rp] +YNDRLK+CMBX10 nf +YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf +-25.9685 -7.00012 mo +(8.) +[5.72846 0 ]xsh +249.382 99.488 mo +253.706 97.944 li +249.382 96.4 li +251.112 97.944 li +f +gsave +253.705 187.944 mo +1.70499 187.944 li +1.70499 7.94397 li +253.705 7.94397 li +cp +clp +.797 lw +0 lc +0 lj +10 ml +[] 0 dsh +false sadj +1.70499 97.944 mo +251.111 97.944 li +@ +grestore +.399 lw +0 lc +0 lj +10 ml +[] 0 dsh +false sadj +127.705 101.929 mo +127.705 93.959 li +@ +155.705 101.929 mo +155.705 93.959 li +@ +183.705 101.929 mo +183.705 93.959 li +@ +211.705 101.929 mo +211.705 93.959 li +@ +239.705 101.929 mo +239.705 93.959 li +@ +127.705 101.929 mo +127.705 93.959 li +@ +99.705 101.929 mo +99.705 93.959 li +@ +71.705 101.929 mo +71.705 93.959 li +@ +43.705 101.929 mo +43.705 93.959 li +@ +15.705 101.929 mo +15.705 93.959 li +@ +129.25 12.268 mo +127.706 7.94403 li +126.162 12.268 li +127.706 10.5391 li +f +.797 lw +127.705 187.944 mo +127.705 10.538 li +@ +.399 lw +123.72 97.944 mo +131.69 97.944 li +@ +123.72 77.944 mo +131.69 77.944 li +@ +123.72 57.944 mo +131.69 57.944 li +@ +123.72 37.944 mo +131.69 37.944 li +@ +123.72 17.944 mo +131.69 17.944 li +@ +123.72 97.944 mo +131.69 97.944 li +@ +123.72 117.944 mo +131.69 117.944 li +@ +123.72 137.944 mo +131.69 137.944 li +@ +123.72 157.944 mo +131.69 157.944 li +@ +123.72 177.944 mo +131.69 177.944 li +@ +%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLJ+CMR10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/two <1C60D8A8C9B7A73DC50B0411757B441481CCF7EF812EEB9B3F6A07BD51 +606BCA866C4BD24CA34E86B9CA5A529B664F3EEDB6B4AF8A2B994DB57B49473E +162231CB943675FE63E9B92B8AEBB62FB22456EC4173C66EF6C2F34FFEC22ACA +E77FFFAAD70F3754CADC0D2CF63CB6D286D930AEA5A613E5AB9CB004BEAEBADD +D070EDAF4FF25FDB6421F540D58D2C7A3FC40290CBCF831BE1B89B7F> |- +/four <1C60D8A8C9B7A73DC579B9C1587087D4749982A674065FCDD01CF53F5 +4AF89DAF22339F0A467CE8D8CC25949B03A9DEFE86592098644AED5891ABD8D0 +71237FB9B66EF7648D767508B0BB1075A0AC676C770BFE6D0E818B53FD7884E4 +D8E6A983234A6E833EF72FF7FE587> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLJ+CMR10 /Encoding get +dup 50 /two put +dup 52 /four put +pop +%ADOEndSubsetFont +/YNDRLJ+CMR10*1 +[47{/.notdef}rp /slash /zero /one /two /three /four /five +11{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I 2{/.notdef}rp /L +/M /N /O /P 2{/.notdef}rp /S /T /U +11{/.notdef}rp /a 3{/.notdef}rp /e /f /g 7{/.notdef}rp /o +11{/.notdef}rp /endash 132{/.notdef}rp] +YNDRLJ+CMR10 nf +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 81.1542 mo +(1)sh +113.758 61.1542 mo +(2)sh +113.758 41.1543 mo +(3)sh +113.758 21.1544 mo +(4)sh +%ADOBeginSubsetFont: BUZAAA+CMSY10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /BUZAAA+CMSY10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1996 Y&Y, Inc. All Right Reserved. http://www.YandY.com) def +/Weight (Medium) def +/ItalicAngle -14.035 def +/BaseFontName (CMSY10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 161 /minus put +def +/UniqueID 5096651 def +/FontBBox {-29 -960 1116 775} def +end +systemdict begin +dup /Private +13 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-24 -0 683 705] def +/OtherBlues [-135 -124] def +/BlueScale 0.04379 def +/StdHW [40] def +/StdVW [40] def +/StemSnapH [40 56] def +/StemSnapV [40 56] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +2 dict dup begin +/minus <1C60D8A8C9B08A946182837629008DF7702985522C1BEB4D11AB8A6B +5589D8B615C840A4D8FD35DE7CD09D4C55DA8FE732830DDE> |- +/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLL+CMSY10 /BUZAAA+CMSY10 findfont ct_VMDictPut +/YNDRLL+CMSY10*1 +[161{/.notdef}rp /minus 94{/.notdef}rp] +YNDRLL+CMSY10 nf +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 120.739 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 120.739 mo +(1)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 140.738 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 140.738 mo +(2)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 160.738 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 160.738 mo +(3)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +106.009 180.738 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +113.758 180.738 mo +(4)sh +153.215 113.33 mo +(1234) +[27.9999 27.9999 27.9999 0 ]xsh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +93.3403 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +101.089 113.33 mo +(1)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +65.3404 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +73.0894 113.33 mo +(2)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +37.3406 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +45.0895 113.33 mo +(3)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +9.34069 113.33 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +17.0896 113.33 mo +(4)sh +.797 lw +1 lc +[0 2 ] 1 dsh +true sadj +15.705 178.944 mo +15.705 16.944 li +43.705 178.944 mo +43.705 16.944 li +71.705 178.944 mo +71.705 16.944 li +99.705 178.944 mo +99.705 16.944 li +127.705 178.944 mo +127.705 16.944 li +155.705 178.944 mo +155.705 16.944 li +183.705 178.944 mo +183.705 16.944 li +211.705 178.944 mo +211.705 16.944 li +239.705 178.944 mo +239.705 16.944 li +@ +[0 2.8 ] 1.4 dsh +14.305 177.944 mo +241.105 177.944 li +14.305 157.944 mo +241.105 157.944 li +14.305 137.944 mo +241.105 137.944 li +14.305 117.944 mo +241.105 117.944 li +14.305 97.944 mo +241.105 97.944 li +14.305 77.944 mo +241.105 77.944 li +14.305 57.944 mo +241.105 57.944 li +14.305 37.944 mo +241.105 37.944 li +14.305 17.944 mo +241.105 17.944 li +@ +gsave +253.705 187.944 mo +1.70499 187.944 li +1.70499 7.94397 li +253.705 7.94397 li +cp +clp +0 lc +[] 0 dsh +false sadj +1.70499 -2737.06 mo +4.24998 -2552.98 li +6.79598 -2376.98 li +9.34098 -2208.89 li +13.759 -1924.66 18.654 -1640.43 24.614 -1356.22 cv +27.16 -1238.41 li +29.705 -1127.06 li +34.562 -922.47 39.996 -717.87 47.523 -513.361 cv +50.069 -447.207 li +52.614 -385.893 li +55.159 -329.236 li +57.705 -277.057 li +61.675 -200.65 66.029 -124.124 72.978 -47.9209 cv +75.523 -22.0378 li +78.069 .810059 li +80.614 20.802 li +83.159 38.1201 li +85.705 52.9441 li +88.25 65.4531 li +90.796 75.8291 li +93.341 84.251 li +95.887 90.9001 li +98.432 95.957 li +100.978 99.6001 li +103.523 102.012 li +106.069 103.372 li +108.614 103.861 li +115.605 104.102 121.972 97.1501 128.978 98.03 cv +131.523 98.7891 li +134.069 100.48 li +136.614 103.282 li +139.159 107.377 li +141.705 112.944 li +144.25 120.164 li +146.796 129.217 li +149.341 140.284 li +151.887 153.545 li +154.432 169.18 li +156.978 187.369 li +159.523 208.293 li +162.069 232.132 li +164.614 259.067 li +167.159 289.277 li +177.002 416.085 182.398 543.453 187.523 670.524 cv +190.069 738.33 li +192.614 811.215 li +195.159 889.359 li +197.705 972.942 li +206.34 1268.27 212.532 1563.68 218.069 1859.07 cv +220.614 1999.72 li +223.159 2147.62 li +232.552 2709.84 239.689 3272.1 246.069 3834.36 cv +248.614 4064.6 li +251.159 4304.06 li +253.705 4552.94 li +@ +grestore +%ADOBeginSubsetFont: GISAAA+CMBX10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLK+CMBX10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/A <1C60D8A8C9B08A941DDBC3AF1C109AC61AF06DEF14497758E2577FC09808 +E2F83FED36FAC5C5DF9845F9151204EBE19A62A093C0C714296A8AEB5EA72983 +7304C560208E23A9B00E450B7895C64B840FF7B8D2624ED826E8D6D1CB5BC276 +3958AE415A241BD617EA928FD9818043D58C39BCDA5256A3F17DFF2FADD0CDFE +4A5999053732F0E5CE29974C519106> |- +/W <1C60D8A8C9B08A949EE89938EFD2B089915D4CA87E50351E8DD3F3914A85 +384965AB9720D1BDB02951199DD63BE938B296E11B8132C78ABED307E15E2C96 +04E0EEA5C8FB1D25F45078482232C4120E0C6D7ECC100B9CF59823239764E960 +AC203F05154297337EBEC8D426CABE71C6D1BABE3D2EE87EB4EC26DC5A175D2E +1776DC7CB846E1C76A588A844BC3111554540D100610F9152C35EB0670475763 +7F97762997D01BB6BF9BF94F9DBF981A5DB94B101F849599A265> |- +/a <1C60D8A8C9B08A95C60527548E754D765DB4EDA6BA0D2CC6D8A620394D95 +5731400D0093175DD4FDCB6F936DAB2E93BD9C1B54BF99F619E92F88F8093B57 +6575F38778E5971C238BB03705C8902A6FCFED1FF202619A2D8A4C3FD818942E +E7E0400EE37C1268C755A54355454E010823DC11303C9CDCFFF1370DF47DDE8E +0505D81ACB493683AAFD9A5B8B94F66FF9ECA66884B26F31C72D900D51753830 +4DA83D95E97AC104F2FDC53254E575E01E9C7E8025E9> |- +/e <1C60D8A8C9B08A95D1DE8AA71D3914AC9DDC5BFDDE55301EE17DAE184B08 +E53C36FBF9A44FDF3309DBE08895DBFECCF103737D7326528346FD01CD1D9FC3 +874638E8C50ADE3B494897353EB3188B512405DD1BA5DA59E8C179230F7C8D15 +AFCEA2228DAC03C77D614B36A41126CE831B41CDF160A67B175BB36C52353A72 +5460F4256C> |- +/k <1C60D8A8C9B08A95F1118A977C6242CC6F5E327BF4A2BCE6E631EAC27F33 +5285F637895192724CE2C53641A392411149B8A3F127ECD7DEB11923D35A35EC +238223B6B1C9CF9675A0C83B3A0C95C18823DF1B6F368BBFEEE7185E77AE9040 +378C34B27A11D9EE3C9721E2EAFF82B925C0F3ABE698646F0C4A57CEC100EA29 +86134B063D8450710541B66D42FC62B89A6AB4B6D6C05FC0E5F8EF9F1253768A +DA78BF283C77228ACE6FD83E9384> |- +/o <1C60D8A8C9B7FCB6A15C803B3B972EE31F5A721ABF9B8490D1BCABFAF507 +3D6D0835AA64493F9EC5B8BAE86BFF5C8028599ED438B3807899BF98EB3DF2EE +9BBE5DC52FDB77ACA45EA052A40521B13F529CBBBB8B40F192297C658BE1CF97 +9B5618AA4355B6A77C9FC09641> |- +/r <1C60D8A8C9B08A95A5BEE1199161ADD44E1E8B27A5C75D09130CF9546F37 +4B2A22381A06BD734F2C4BF093B03F9AF2D0D4C8BE8AA6899632B1BDCEA5F8FA +27D0647BB27FC7927912A6761C3F8A51172D73B92082F06EFA277243DBD96EE1 +6421DB7B86390678EAD31E9D8E521BD186BAE7A8A68851384DC5E4933D7D1C5E +E5A527356EDB77> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLK+CMBX10 /Encoding get +dup 65 /A put +dup 87 /W put +dup 97 /a put +dup 101 /e put +dup 107 /k put +dup 111 /o put +dup 114 /r put +pop +%ADOEndSubsetFont +/YNDRLK+CMBX10*1 +[46{/.notdef}rp /period 9{/.notdef}rp /eight 8{/.notdef}rp /A 21{/.notdef}rp /W +9{/.notdef}rp /a 3{/.notdef}rp /e 5{/.notdef}rp /k 3{/.notdef}rp /o +2{/.notdef}rp /r 141{/.notdef}rp] +YNDRLK+CMBX10 nf +YNDRLK+CMBX10*1 [9.9626 0 0 -9.9626 0 0 ]msf +324.775 14.8624 mo +(WorkArea) +[10.8911 5.72845 4.72226 9.86591 8.65753 4.72226 5.25021 0 ]xsh +%ADOBeginSubsetFont: BUZAAA+CMSY10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLL+CMSY10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/bullet <1C60D8A8C9B7A73D8D0B3FCDAA7E46FB68E7B1A6E412E25369E4ABB +A70D277941C6A488EED866AD61E359C443EB0FEA5> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLL+CMSY10 /Encoding get +dup 178 /bullet put +pop +%ADOEndSubsetFont +/YNDRLL+CMSY10*1 +[161{/.notdef}rp /minus 16{/.notdef}rp /bullet 77{/.notdef}rp] +YNDRLL+CMSY10 nf +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +283.593 34.7875 mo +(\262)sh +%ADOBeginSubsetFont: GLAAAA+CMR10 AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +systemdict begin +YNDRLJ+CMR10 dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/parenleft <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8BB61D8ED +90A20EE239C62172B553BFF416342D6CD99C95C515CA225C40039DBAF08CE4F0 +55B08F39C15D29C99EF3EDD066CCCEF8932365A3BB1620FA5F0BCE8AF21A5BDE +C0FFD55FA45F247FC811007CB408F0DCDD3AE01E3246> |- +/parenright <1C60D8A8C9B08A958B2129D6E9761120E2D623F206A8A207F03 +DEA8F466C0D4F860EDF515D421F89285FC2D8EC76F5E903EDE1B5CFFAEC5DEA9 +22C7FC4A51953A99A5FB1F96793348D816F60492670058F4DEA6D328AB20FBAD +B3C1B57A79D8CCD13A3C6D068BAD5F09F347ED0C895> |- +/hyphen <1C60D8A8C9B08A959E2F69652E8B76AC2AC5B4F1FA8662A86AEED57 +846929C2FBC07360B> |- +/colon <1C60D8A8C9B08A95708109816759149241680C741B6923EBD56E6248 +E5269499A7D548A5AC3ECB516C4A5048666940A11AD8CB54F4BA847274447EEB +614F54B956BBCFCAD8E88A403FBD4464DA283ACB> |- +/semicolon <1C60D8A8C9B08A9570810981675918D0BCF1CD202F5F8524F1CF +461D4270459E44DB560BC854C3F48DFD92347C27A6AAF0E2B1A04AFEB82D8D46 +6FB78A9BF2E74CE09AE4A8F352791B5C7110FA6307B2916ECC9F5904CC094CEE +59D67B4016AFD5BCFCA64E9EC736BD726D1A09B76CECE761EBE5219FDE764D2A +9C6D289DBA39E76263> |- +/equal <1C60D8A8C9B08A946182837629008D945C50B3BD77B79680F3B07BDA +6301D2521ADF665EADEA779B8650AC6CDB556621631497A3BE00C67036F6EB06 +05A36A2C0EE306396247E4A79F8EFAE500D78B59605F041F11> |- +/b <1C60D8A8C9B08A95C5897169EED96641DA8B10CA087E6B7A5588052BABB7 +BC0836B12A49068694BF7254A2B820A876E020738250AC32ED44C3A7F2C5F700 +C2D03E307AFB7135F6415FEEB6D856569E9D5429B4DD3F524606607A7502F4FA +00BE0184FC677554B2B6367E60A281A4837A2231515AF09B33399B7D5C3D2E8F +3A2971F2933C4A4CAAA727A80DBDC9692BD6B38D543D422C14068650D2C61B6B +E587855459543E451B14A31F96D9B341DFF415> |- +/d <1C60D8A8C9B08A95C5897169EED96D33CB6A9013DDE3D04C2845E595598F +3E2E6D79295DF7CC9B6C00D2CF2AC2502697856E5474C945441376692CB09ED9 +25CE9D4F710C7DE089B5E658450CEECC611DD1F25787624443E710373775DB0D +7A6478B3FD4F82DF4FC109429D4EADCED1BD77A35BF25A1C1E584B0EB23CE621 +6847A21EE88B35D72221C7F9F0705E61C9F9C0A224456A04D3E81DE0BD98422F +FA8C7335713899937F5FFEC7771BB8FDAEE53DE3E6> |- +/h <1C60D8A8C9B08A95C5897169EED9664BED359D179BDDBB0B44F78A354068 +F188259C421AB0565D2C93368C7FE6E0A9F40BB196D1F23D06A9B4099431512B +C136412B8071F881A48FA8A97D03ACD06EBB8221F2FCB171D9A905549A8F7881 +2735FA48F2EC00ACCEB309920B412B3F60D0173EF224E4CB3F5C1DAD9CC6147F +9ADED8EC6C9533B7B1AABCF5D1E9B7F36A2D4B8D2B26EAE8EA> |- +/i <1C60D8A8C9B08A9570810981675968AD25F24D2B3EAE33A4AEDADBE9B65D +A53E9F2E54B16133284CA9914BED3880C793207FBDC7926300AD07E6E54407B5 +1EA082FB5EE3816A6A23A8296A947037E4E873086619D7E86B5A60AFA576E554 +D14C9B74D403098ADE85F71880A3E75D7FC1> |- +/k <1C60D8A8C9B08A95D222871B45C8170346D4B3692EE324314ECB68C750E8 +0C39C0E118E6175CCD69769E2118B02E8AEF864A1ADB8D0BF5A5FFDD4A9B9B6C +C867F43FFF5A7BBEB959851C5A4053DF1F3B8EBF64DEEC6B682D7055139D4103 +B0A63AD1D8193F253FA365D16CC3EC1AC7C7AEA533CCF6F8272FF6B8CD1FC7B4 +0DE006133FBB2B23E8E1776C461B4D8ABE09C8DE32B25BAD44EC36CACD378C29 +9496103B1CB809290EFAF69E7582E8754F6B25D7A0FD> |- +/l <1C60D8A8C9B08A9570810981675968AD25F317189905083B97CD6CD1B880 +05B79B666989E13C0F8D0889AD0162C7E87274D188EBBD1A911FDD0B6E360AA1 +C515725198B9106B157680FC> |- +/n <1C60D8A8C9B08A95C5897169EED9664BED359D179BD38846B55E34D4CAA6 +E85E9CF3F20D5FF6B35F1C9AAE2A542B7B24E087B6004A4C7219997095CC0DD0 +7A15DB83B5FEAD13F209441FFD364AD3DBF6E16129F3599BACA005A523490ABC +41E4DF320ACE384037EE1D352E3FAD8A9E2CECBD75A999F7B655F4FFBFAC6FFF +84029A8DF710DBB0D7CD4C1D20367E79BC4E3121199FA9593C876B29EA793F10 +2A1E36BE8056D0377A> |- +/p <1C60D8A8C9B08A95C5897169EED91609D9E4D5F91353B4B61FEC4EAC5FAD +7B5032144CF9ADF0F974C4F1789F7935ECC14F06F084A964A5CA17285CA0C9EC +1B8F57A0E66AEAF75BA11AE734E6416585ED4DB12A3372EA2BA1BABC0DE7BE87 +584CD6EA8819CE99CB18F04E8ECD619D7E02CDE60A0AA18597DE62AF13ABCC5A +5F1D59EBFBBEF560144EF0DCE1B387B4BC40F158468D6A4DE477659B50190482 +6F081FC4942E5187D9F03F6D1BD471F55D6300> |- +/r <1C60D8A8C9B08A9584DCB847BA986212E50A0E258C2648145E7BCFAC2BA8 +6C36E84B654FABD35F6BE558D4B54676EA44C57F6EF668BC4866822048422FD6 +D8B608EB2C1C67EC3EE3CEBDD94E9A9214F99F9DA8EE2F6900EB47053AC763EE +DABCA0360701D8CB383B9ECCD7B848D18CFB88761A167471DE407F7BED4BC50B +779C4D57BF133C3E4777AA4605171C6D> |- +/s <1C60D8A8C9B08A9586D4F7B21AA9B0967A13D9D7A42FE5E3505E2F3EE7CA +FF99F258F00E5A08E889C3CC5D8ACF7164CD2AC0013AEF91C534D4ACEB36DB05 +CE0E820904C7EB6E6797C2D5FB5E96476FD3694427C3F770022BFE939EC57571 +FAC1F965E0A7F32B36C86522DA3AFB3A309E4B5D72F0E56F1BEB5C7254CECC22 +9B1219F95DA80187F2FFAF15E03AF5B396BE650B53989F1A64B4AA9655D1019B +496166D38FC8961ACDA2D0B1533422796A114C02DCAA98A8558155EE2C970442 +944A032E8A6A4004C15A48F9176AE45E44068C23BC> |- +/t <1C60D8A8C9B08A958B2129D6E9766AD6B3247B9CBDFB0724765D43ED23A7 +B2BC7B24077C209594776C48799589E3DF7269407A6893D4C106057122D99E3F +649ACAFBE1812EEAA6C4DCDDD716BEB7694626BFFCAE715C15EF0FD8CE9F6FE4 +E96B03> |- +/u <1C60D8A8C9B08A95C5897169EED96D33CB6A8CCD6F539BADC574F30FA019 +2FAAA0351E8C93175F4B6BE4D2DCA8A13E4F01BEC5788441B5C71C1247369B6B +73137454B1C207EA4F43D533FE87512BAD8DD4F3DBBECD9A7A1CE3F33A4D3F31 +6952FDB339B4B6A937009D6EC9821D8553981B7D8AABC3E750369071> |- +/v <1C60D8A8C9B08A95D222871B45C81C126204E8A3F3EFC2EBF937B1E5F2B8 +737EDCCFF78DB8693FA0E7B559CFAC0A233112105FC1A8807ADD3013D4AE86C4 +38318F1223CADD606642DF7E9A8EE9BE743E975DA759D856D52F7E927FE33606 +3979ED38AB2E1EA4CB4F371A1EB04E6C5B864C9DB5271435AB2DE7D9DE15A6B1 +D9E3FD555F015DADE467> |- +systemdict /gcheck known {setglobal} if end {end} if +end +YNDRLJ+CMR10 /Encoding get +dup 40 /parenleft put +dup 41 /parenright put +dup 45 /hyphen put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 98 /b put +dup 100 /d put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +pop +%ADOEndSubsetFont +/YNDRLJ+CMR10*1 +[40{/.notdef}rp /parenleft /parenright 3{/.notdef}rp /hyphen /.notdef /slash /zero +/one /two /three /four /five 4{/.notdef}rp /colon /semicolon +/.notdef /equal 3{/.notdef}rp /A /.notdef /C 5{/.notdef}rp /I +2{/.notdef}rp /L /M /N /O /P 2{/.notdef}rp /S +/T /U 11{/.notdef}rp /a /b /.notdef /d /e +/f /g /h /i /.notdef /k /l /.notdef +/n /o /p /.notdef /r /s /t /u +/v 4{/.notdef}rp /endash 132{/.notdef}rp] +YNDRLJ+CMR10 nf +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +293.556 34.7875 mo +(Theend-behaviorislike) +[7.19299 5.53922 7.24979 4.4234 5.53918 5.53922 3.31747 5.81616 4.4234 5.53918 4.70435 5.26025 +2.76959 4.98129 6.73172 2.76962 6.75162 2.76959 2.76962 4.98328 0 ]xsh +%ADOBeginSubsetFont: WRBBAA+CMMI10 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /WRBBAA+CMMI10 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1996 Blue Sky Research and Y&Y, Inc. (978) 371-3286) def +/Weight (Medium) def +/ItalicAngle -14.04 def +/BaseFontName (CMMI10) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 120 /x put +dup 121 /y put +def +/UniqueID 5087385 def +/FontBBox {-32 -250 1048 750} def +end +systemdict begin +dup /Private +12 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-22 -0 683 705 431 442 453 466] def +/OtherBlues [-205 -194] def +/BlueScale 0.04379 def +/StdHW [31] def +/StdVW [72] def +/StemSnapH [25 31] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +3 dict dup begin +/x <1C60D8A8C9B08A95C3B1459DC8650F9F96183FC46268F5BDA744B05C84F8 +C7E5FE6BFCA9D4C8BD3488080E8FC96F34EA177DCAE190D27F37102D2F45514A +ECF6E4A3B2E6F401810D0AF13E4BDFDB8118476E04C9DD93F8884F46C9ABEE13 +C8E7992449902F6BC3D518B2A70293976C8BCE67ED913D975C52E884BF7F46CE +8DF8170D79262260A6CB5A6A088C0A964E0271DA63944ABA9C96D1AA58CB590F +97DC9C8372606676C2CA18B1A9303EBF11B510FAB8A33E9B530D274E48DD09EE +8829EC16181BBC16C4E81343ACB5386F22A9C0CA2C23959102E833> |- +/y <1C60D8A8C9B08A95A3A690DEE11C2ACFF7516D4A7CDA884FB3B130648C63 +2F41B68B5E071E6BAD692658125A4CE9A4427A55054BF5DABFF855AF9D186215 +1F50AD5D2EE36E064C9718B8694EF83525324184D7DD07A10B9FD203C707D849 +3E926469CD1C36E94D5785557A2D95B556774E51CEFBAE2CC8AB735FFF293AFE +FA32B8D1FD5C52EC860AA6EC20816B24BD1EB69FE8581708322D6F09A08B3182 +91EF57EAE554A00C60D585B786E53371A6D3FB2D8729C3F2C51DB65ABF8CA421 +EEB103AED2CB924D829D66429CF6664CDEAFEEC4AD07C95E7FE8BCAB5D2A1AD6 +731779D5> |- +/.notdef <1C60D8A8C9B08A959E2F69652E8B8F> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLM+CMMI10 /WRBBAA+CMMI10 findfont ct_VMDictPut +/YNDRLM+CMMI10*1 +[120{/.notdef}rp /x /y 134{/.notdef}rp] +YNDRLM+CMMI10 nf +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +399.866 34.7875 mo +(y)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +407.875 34.7875 mo +(=)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +418.391 34.7875 mo +(\241)sh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +426.14 34.7875 mo +(x)sh +%ADOBeginSubsetFont: KEDBAA+CMR7 Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2011 Adobe System Incorporated. All rights reserved. +13 dict dup begin +/FontType 1 def +/FontName /KEDBAA+CMR7 def +/FontInfo 8 dict dup begin +/Notice (Copyright (c) 1988 - 1992 Blue Sky Research and Y&Y, Inc. http://www.YandY.com) def +/Weight (Medium) def +/ItalicAngle 0 def +/BaseFontName (CMR7) def +/WasEmbedded true def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 51 /three put +def +/UniqueID 5000790 def +/FontBBox {-286 -250 1122 967} def +end +systemdict begin +dup /Private +13 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [-20 -0 683 703 431 446 664 674] def +/OtherBlues [-205 -194] def +/BlueScale 0.04379 def +/StdHW [36] def +/StdVW [79] def +/StemSnapH [28 36] def +/StemSnapV [79 95] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +2 dict dup begin +/three <1C60D8A8C9B08A95C25148D4A67F69EFB9DDFA5ECA5AE37566D87066 +172F8CABE2B2CB84CA762EB5E603C8A9A699CCCFA6A0578E3DA76E6C9E7B5A84 +45F01D818A380DD4AC46AFDB5422B8800FEF2E8AFDA86EDD8199C34D64992E4F +43992CF1D54B07E3F575480A9A0B868375A4E2A9893BE0AEBB713690AB6C5B93 +E6D8D619357F90F56F58A8525CC0A1BD91DA9365507B440F549B60D4E7E5CBB3 +769D4C82F061F9E20A25AD23418551374D804A6B25C8CE003D> |- +/.notdef <1C60D8A8C9B08A958AA685092D4752> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/YNDRLN+CMR7 /KEDBAA+CMR7 findfont ct_VMDictPut +/YNDRLN+CMR7*1 +[51{/.notdef}rp /three 204{/.notdef}rp] +YNDRLN+CMR7 nf +YNDRLN+CMR7*1 [6.9738 0 0 -6.9738 0 0 ]msf +431.835 30.6743 mo +(3)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +283.593 54.713 mo +(\262)sh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +293.556 54.713 mo +(x)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +299.25 54.713 mo +(-int:) +[3.31747 2.76959 5.26224 3.87555 0 ]xsh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +325.685 54.713 mo +(x)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +337.496 54.713 mo +(=0\(even\);) +[13.868 10.3123 3.87552 4.4234 4.98328 4.4234 5.53922 3.87552 0 ]xsh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +397.897 54.713 mo +(x)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +409.708 54.713 mo +(=)sh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +423.574 54.713 mo +(\241)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +431.323 54.713 mo +(1)sh +293.557 66.6682 mo +(\(odd\)) +[3.87552 5.25827 5.53922 5.53918 0 ]xsh +YNDRLL+CMSY10*1 [9.9626 0 0 -9.9626 0 0 ]msf +283.594 86.5933 mo +(\262)sh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +293.557 86.5933 mo +(y)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +298.799 86.5933 mo +(-int:) +[3.31747 2.76959 5.26224 3.87555 0 ]xsh +YNDRLM+CMMI10*1 [9.9626 0 0 -9.9626 0 0 ]msf +321.623 86.5933 mo +(y)sh +YNDRLJ+CMR10*1 [9.9626 0 0 -9.9626 0 0 ]msf +329.971 86.5933 mo +(=0\(passesthroughori-) +[10.8572 8.50607 3.87552 5.53922 4.98129 3.92523 3.92523 4.4234 7.45001 3.87552 5.53922 3.9053 +4.98129 5.53922 4.98129 9.06396 4.98132 3.90533 2.76959 0 ]xsh +293.557 98.5485 mo +(gin\)) +[4.98129 2.76962 5.53918 0 ]xsh +grestore +grestore +pgrs +%%PageTrailer +[ +[/CSA [/0 ]] +[/CSD [/0 ]] +] del_res +/YNDRLM+CMMI10*1 uf +/YNDRLM+CMMI10 uf +/WRBBAA+CMMI10 uf +/YNDRLN+CMR7*1 uf +/YNDRLN+CMR7 uf +/KEDBAA+CMR7 uf +/YNDRLJ+CMR10*1 uf +/YNDRLJ+CMR10 uf +/GLAAAA+CMR10 uf +/YNDRLL+CMSY10*1 uf +/YNDRLL+CMSY10 uf +/BUZAAA+CMSY10 uf +/YNDRLK+CMBX10*1 uf +/YNDRLK+CMBX10 uf +/GISAAA+CMBX10 uf +Adobe_AGM_Image/pt gx +Adobe_CoolType_Core/pt get exec +Adobe_AGM_Core/restore_mysetup gx +Adobe_AGM_Core/pt gx +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Utils begin +[/EMC pdfmark_5 +currentdict Adobe_AGM_Utils eq {end} if +Adobe_AGM_Image/dt get exec +Adobe_CoolType_Core/dt get exec +Adobe_AGM_Core/dt get exec +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%+ procset Adobe_CoolType_Core 2.31 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentCustomColors: +%%CMYKCustomColor: +%%RGBCustomColor: +%%EOF diff --git a/texmf-dist/doc/latex/eqexam/examples/hw03.tex b/texmf-dist/doc/latex/eqexam/examples/hw03.tex index 68320f0c..f699c0f9 100644 --- a/texmf-dist/doc/latex/eqexam/examples/hw03.tex +++ b/texmf-dist/doc/latex/eqexam/examples/hw03.tex @@ -1,3 +1,4 @@ +% hw.cfg.txt, hw03.tex attached \documentclass{article} \usepackage[fleqn]{amsmath} \usepackage[pdf,forcolorpaper,cfg=hw,nopoints,useforms, diff --git a/texmf-dist/doc/latex/eqexam/examples/quiz01.pdf b/texmf-dist/doc/latex/eqexam/examples/quiz01.pdf Binary files differdeleted file mode 100644 index 0a09709e..00000000 --- a/texmf-dist/doc/latex/eqexam/examples/quiz01.pdf +++ /dev/null diff --git a/texmf-dist/doc/latex/eqexam/examples/quiz01.tex b/texmf-dist/doc/latex/eqexam/examples/quiz01.tex index 8682623c..176fa863 100644 --- a/texmf-dist/doc/latex/eqexam/examples/quiz01.tex +++ b/texmf-dist/doc/latex/eqexam/examples/quiz01.tex @@ -2,9 +2,9 @@ \usepackage[fleqn]{amsmath} \usepackage[pdf,cfg=quiz,forpaper,pointsonleft, % compile with exactly one of the following three - nosolutions +% nosolutions % answerkey -% vspacewithsolns + vspacewithsolns ]{eqexam} \examNum{1}\numVersions{2}\forVersion{a} diff --git a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf b/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf Binary files differdeleted file mode 100644 index 141fb082..00000000 --- a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.pdf +++ /dev/null diff --git a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex b/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex index 12b1faff..9c43ce6e 100644 --- a/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex +++ b/texmf-dist/doc/latex/eqexam/examples/selectversion_tst.tex @@ -5,9 +5,9 @@ % \usepackage[pointsonleft,nototals,forpaper,useforms, % Select exactly one of the next three options - nosolutions, +% nosolutions, % answerkey, -% vspacewithsolns, + vspacewithsolns, obeylocalversions, % try this in combination with ]{eqexam} @@ -158,16 +158,16 @@ to verify that the new system of title management is working correctly. \vfill\hfill\textbf{Problem~{\eqeCurrProb} continues on next page}} \popProblem - - \selectVersion{}{5} \item \verb!\selectVersion{}{5}! This is a problem, version \vA{A}\vB{B}\vC{C}\vD{D}\vE{E} of 5. + \begin{verB} This is version B \end{verB} \begin{verE} This is version E \end{verE} + \begin{solution} This is version \vA{A}\vB{B}\vC{C}\vD{D}\vE{E} @@ -211,6 +211,7 @@ This is version D This is version E \end{verE} \end{solution} + \end{parts} \end{problem*} diff --git a/texmf-dist/doc/latex/eqexam/examples/test01.pdf b/texmf-dist/doc/latex/eqexam/examples/test01.pdf Binary files differdeleted file mode 100644 index 51e8c54f..00000000 --- a/texmf-dist/doc/latex/eqexam/examples/test01.pdf +++ /dev/null diff --git a/texmf-dist/doc/latex/eqexam/examples/test01.synctex b/texmf-dist/doc/latex/eqexam/examples/test01.synctex deleted file mode 100644 index 16cc5e11..00000000 --- a/texmf-dist/doc/latex/eqexam/examples/test01.synctex +++ /dev/null @@ -1,4789 +0,0 @@ -SyncTeX Version:1 -Input:1:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.tex -Input:2:C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls -Input:3:C:\Program Files\MiKTeX 2.9\tex\latex\base\size12.clo -Input:4:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsmath.sty -Input:5:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amstext.sty -Input:6:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsgen.sty -Input:7:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsbsy.sty -Input:8:C:\Program Files\MiKTeX 2.9\tex\latex\amsmath\amsopn.sty -Input:9:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphicx.sty -Input:10:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty -Input:11:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphics.sty -Input:12:C:\Program Files\MiKTeX 2.9\tex\latex\graphics\trig.sty -Input:13:C:\Program Files\MiKTeX 2.9\tex\latex\graphics-cfg\graphics.cfg -Input:14:C:\Program Files\MiKTeX 2.9\tex\latex\graphics-def\dvips.def -Input:15:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\eqexam.sty -Input:16:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifpdf.sty -Input:17:C:\Program Files\MiKTeX 2.9\tex\generic\ifxetex\ifxetex.sty -Input:18:C:\Program Files\MiKTeX 2.9\tex\latex\xkeyval\xkeyval.sty -Input:19:C:\Program Files\MiKTeX 2.9\tex\generic\xkeyval\xkeyval.tex -Input:20:C:\Program Files\MiKTeX 2.9\tex\generic\xkeyval\xkvutils.tex -Input:21:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\web.cfg -Input:22:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\eqecus.opt -Input:23:C:\Program Files\MiKTeX 2.9\tex\latex\xcolor\xcolor.sty -Input:24:C:\Program Files\MiKTeX 2.9\tex\latex\graphics-cfg\color.cfg -Input:25:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amssymb.sty -Input:26:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\amsfonts.sty -Input:27:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\apb\comment.sty -Input:28:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\web.sty -Input:29:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\web.cfg -Input:30:C:\Program Files\MiKTeX 2.9\tex\latex\tools\calc.sty -Input:31:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\hyperref.sty -Input:32:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\hobsub-hyperref.sty -Input:33:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\hobsub-generic.sty -Input:34:C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\auxhook.sty -Input:35:C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\kvoptions.sty -Input:36:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\pd1enc.def -Input:37:C:\Program Files\MiKTeX 2.9\tex\latex\00miktex\hyperref.cfg -Input:38:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\backref.sty -Input:39:C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\rerunfilecheck.sty -Input:40:C:\Program Files\MiKTeX 2.9\tex\latex\url\url.sty -Input:41:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\hdvips.def -Input:42:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\pdfmark.def -Input:43:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\websec.def -Input:44:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\exerquiz.sty -Input:45:C:\Program Files\MiKTeX 2.9\tex\latex\tools\array.sty -Input:46:C:\Program Files\MiKTeX 2.9\tex\latex\tools\verbatim.sty -Input:47:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\eforms.sty -Input:48:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\insdljs.sty -Input:49:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\conv-xkv\conv-xkv.sty -Input:50:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\taborder.sty -Input:51:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\pdfdochex.def -Input:52:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\epdfmark.def -Input:53:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\acrotex\aebjs.def -Input:54:C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\pifont.sty -Input:55:C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\upzd.fd -Input:56:C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\upsy.fd -Input:57:C:\Program Files\MiKTeX 2.9\tex\latex\tools\multicol.sty -Input:58:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\umsa.fd -Input:59:C:\Program Files\MiKTeX 2.9\tex\latex\amsfonts\umsb.fd -Input:60:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.aux -Input:61:C:\Program Files\MiKTeX 2.9\tex\latex\hyperref\nameref.sty -Input:62:C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\gettitlestring.sty -Input:63:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.out -Input:64:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.out -Output:dvi -Magnification:1000 -Unit:1 -X Offset:4736287 -Y Offset:4736287 -Content: -!4701 -{1 -[1,37:0,42626580:30785864,42626580,0 -(1,37:0,0:0,0,0 -) -[1,37:0,0:0,0,0 -(1,37:0,-2433924:0,0,0 -k1,37:0,-2433924:65781 -) -] -[1,37:0,42626580:30785864,42626580,0 -[1,37:0,42626580:30785864,44994723,0 -[1,37:0,-1581711:30785864,786432,0 -(1,37:0,-1581711:30785864,0,0 -h1,37:0,-1581711:30785864,0,0 -) -] -[1,37:0,41905684:30785864,42176675,0 -(1,37:0,6000831:30785864,1201930,808713 -(1,37:0,6000831:30785864,1201930,808713 -g1,37:0,6000831 -$1,37:0,6000831 -[1,37:0,6000831:30785864,1201930,808713 -(1,37:0,5446396:30785864,647495,0 -k1,37:7557014,5446396:7557014 -h1,37:7557014,5446396:0,0,0 -x1,37:9822374,5446396 -g1,37:10176268,5446396 -x1,37:17033519,5446396 -g1,37:17387413,5446396 -x1,37:18852140,5446396 -g1,37:19206034,5446396 -x1,37:21630867,5446396 -x1,37:23228851,5446396 -g1,37:23228851,5446396 -k1,37:30785864,5446396:7557013 -) -(1,37:0,6626044:30785864,655359,183500 -k1,37:6560657,6626044:6560657 -h1,37:6560657,6626044:0,0,0 -x1,37:11812814,6626044 -g1,37:12166708,6626044 -x1,37:13862449,6626044 -g1,37:14216343,6626044 -x1,37:17861778,6626044 -g1,37:18215672,6626044 -x1,37:24225208,6626044 -g1,37:24225208,6626044 -k1,37:30785864,6626044:6560656 -) -] -$1,37:30785864,6000831 -g1,37:30785864,6000831 -) -g1,37:30785864,6000831 -g1,37:30785864,6000831 -) -(1,37:0,11617292:30785864,524288,131071 -(1,37:0,11617292:30785864,524288,131071 -g1,37:0,11617292 -$1,37:0,11617292 -[1,37:0,11617292:30785864,524288,131071 -(1,37:0,11748363:30785864,655359,0 -k1,37:13046800,11748363:13046800 -h1,37:13046800,11748363:0,0,0 -x1,37:16989768,11748363 -g1,37:17343662,11748363 -x1,37:17739063,11748363 -g1,37:17739063,11748363 -k1,37:30785863,11748363:13046800 -) -] -$1,37:30785864,11617292 -g1,37:30785864,11617292 -) -g1,37:30785864,11617292 -g1,37:30785864,11617292 -) -(1,37:0,13353996:30785864,520356,127139 -(1,37:0,13353996:30785864,520356,127139 -g1,37:0,13353996 -$1,37:0,13353996 -[1,37:0,13353996:30785864,520356,127139 -(1,37:0,13481135:30785864,647495,0 -k1,37:13967580,13481135:13967580 -h1,37:13967580,13481135:0,0,0 -x1,37:14705951,13481135 -x1,37:15933549,13481135 -g1,37:16287443,13481135 -x1,37:16818284,13481135 -g1,37:16818284,13481135 -k1,37:30785864,13481135:13967580 -) -] -$1,37:30785864,13353996 -g1,37:30785864,13353996 -) -g1,37:30785864,13353996 -g1,37:30785864,13353996 -) -(1,37:0,41682862:30785864,12984858,222822 -[1,37:0,41682862:13853544,3967018,0 -(1,37:0,38274990:13853544,559146,164453 -h1,37:0,38274990:0,0,0 -(1,37:0,38274990:0,0,0 -r1,37:0,38274990:0,0,0 -) -$1,37:0,38274990 -[1,37:0,38274990:13853544,537395,157280 -(1,37:0,38274990:13853544,537395,0 -(1,37:0,38274990:13853544,537395,0 -(1,37:0,38274990:13853544,537395,0 -x1,37:2160117,38274990 -k1,37:13853544,38274990:11693427 -) -) -) -] -$1,37:13853544,38274990 -(1,37:13853544,38274990:0,559146,164453 -(1,37:13853544,38340771:0,624927,98672 -(1,37:13853544,38340771:0,624927,98672 -k1,37:2416797,38340771:-11436747 -(1,37:2416797,38340771:11436747,624927,98672 -(1,37:2416797,38439443:0,0,0 -) -(1,37:2416797,38340771:11436747,624927,98672 -(1,37:2416797,38439443:11436747,723599,0 -[1,37:2416797,38439443:11436747,723599,0 -(1,37:2416797,37715844:11436747,0,0 -h1,37:2416797,37715844:0,0,0 -k1,37:13853544,37715844:11436747 -g1,37:13853544,37715844 -) -] -) -) -(1,37:13853544,37715844:0,0,0 -) -) -) -) -) -g1,37:13853544,38274990 -g1,37:13853544,38274990 -) -(1,37:0,39902468:13853544,559146,164453 -[1,37:0,39902468:13853544,537395,157280 -(1,37:0,39902468:13853544,537395,0 -(1,37:0,39902468:13853544,537395,0 -(1,37:0,39902468:13853544,537395,0 -x1,37:1507586,39902468 -k1,37:13853544,39902468:12345958 -) -) -) -] -$1,37:13853544,39902468 -(1,37:13853544,39902468:0,559146,164453 -(1,37:13853544,39968249:0,624927,98672 -(1,37:13853544,39968249:0,624927,98672 -k1,37:1764266,39968249:-12089278 -(1,37:1764266,39968249:12089278,624927,98672 -(1,37:1764266,40066921:0,0,0 -) -(1,37:1764266,39968249:12089278,624927,98672 -(1,37:1764266,40066921:12089278,723599,0 -[1,37:1764266,40066921:12089278,723599,0 -(1,37:1764266,39343322:12089278,0,0 -h1,37:1764266,39343322:0,0,0 -k1,37:13853544,39343322:12089278 -g1,37:13853544,39343322 -) -] -) -) -(1,37:13853544,39343322:0,0,0 -) -) -) -) -) -g1,37:13853544,39902468 -g1,37:13853544,39902468 -) -(1,37:0,41529946:13853544,537395,152916 -x1,37:801989,41529946 -g1,37:1058669,41529946 -x1,37:1582588,41529946 -x1,37:1732318,41529946 -g1,37:1988998,41529946 -x1,37:3807148,41529946 -x1,37:4021048,41529946 -g1,37:4277728,41529946 -x1,37:6459508,41529946 -g1,37:6716188,41529946 -x1,37:8256268,41529946 -k1,37:13853544,41529946:5597276 -g1,37:13853544,41529946 -) -] -k1,37:14623585,41682862:770041 -(1,37:14623585,41682862:16162279,12984858,222822 -(1,37:14623585,41682862:16162279,12984858,222822 -(1,37:14623585,41905684:16162279,13207680,0 -[1,37:14623585,41905684:16162279,13207680,0 -(1,37:14623585,41879470:16162279,13155252,0 -[1,37:14649799,41879470:16109851,13155252,0 -(1,37:14649799,41682862:16109851,12762036,0 -[1,37:14846407,41682862:15716635,12762036,0 -(1,37:14846407,29860174:15716635,546132,0 -(1,37:14846407,29860174:0,0,0 -g1,37:14846407,29860174 -g1,37:14846407,29860174 -g1,37:14461387,29860174 -(1,37:14461387,29860174:0,0,0 -) -g1,37:14846407,29860174 -) -x1,37:17061433,29860174 -g1,37:17356345,29860174 -x1,37:20108403,29860174 -k1,37:25335723,29860174:5227320 -k1,37:30563042,29860174:5227319 -) -(1,37:14846407,31596878:15716635,589824,196608 -h1,37:14846407,31596878:0,0,0 -$1,37:14846407,31596878 -[1,37:14846407,31596878:7104430,537395,157280 -(1,37:14846407,31596878:7104430,537395,0 -(1,37:14846407,31596878:7104430,537395,0 -(1,37:14846407,31596878:0,537395,152916 -x1,37:15370326,31596878 -x1,37:16461216,31596878 -g1,37:16717896,31596878 -x1,37:17102916,31596878 -k1,37:14846407,31596878:-2256509 -) -r1,37:14846407,31596878:0,537395,0 -g1,37:21950837,31596878 -g1,37:21950837,31596878 -) -) -] -$1,37:21950837,31596878 -x1,37:22335857,31596878 -g1,37:22592537,31596878 -$1,37:22592537,31596878 -(1,37:22592537,31596878:770040,506811,0 -x1,37:23362577,31596878 -) -g1,37:23493647,31596878 -(1,37:23493647,31596878:1030998,483719,152916 -(1,37:23493647,31596878:1030998,483719,152916 -x1,37:24524645,31596878 -) -) -$1,37:24524645,31596878 -k1,37:27543844,31596878:3019199 -k1,37:30563042,31596878:3019198 -) -(1,37:14846407,33333582:15716635,589824,196608 -h1,37:14846407,33333582:0,0,0 -$1,37:14846407,33333582 -[1,37:14846407,33333582:7104430,537395,157280 -(1,37:14846407,33333582:7104430,537395,0 -(1,37:14846407,33333582:7104430,537395,0 -(1,37:14846407,33333582:0,537395,152916 -x1,37:15370326,33333582 -x1,37:16461216,33333582 -g1,37:16717896,33333582 -x1,37:17102916,33333582 -k1,37:14846407,33333582:-2256509 -) -r1,37:14846407,33333582:0,537395,0 -g1,37:21950837,33333582 -g1,37:21950837,33333582 -) -) -] -$1,37:21950837,33333582 -x1,37:22335857,33333582 -g1,37:22592537,33333582 -$1,37:22592537,33333582 -(1,37:22592537,33333582:770040,506811,0 -x1,37:23362577,33333582 -) -g1,37:23493647,33333582 -(1,37:23493647,33333582:1030998,483719,152916 -(1,37:23493647,33333582:1030998,483719,152916 -x1,37:24524645,33333582 -) -) -$1,37:24524645,33333582 -k1,37:27543844,33333582:3019199 -k1,37:30563042,33333582:3019198 -) -(1,37:14846407,35070286:15716635,589824,196608 -h1,37:14846407,35070286:0,0,0 -$1,37:14846407,35070286 -[1,37:14846407,35070286:7104430,537395,157280 -(1,37:14846407,35070286:7104430,537395,0 -(1,37:14846407,35070286:7104430,537395,0 -(1,37:14846407,35070286:0,537395,152916 -x1,37:15370326,35070286 -x1,37:16461216,35070286 -g1,37:16717896,35070286 -x1,37:17102916,35070286 -k1,37:14846407,35070286:-2256509 -) -r1,37:14846407,35070286:0,537395,0 -g1,37:21950837,35070286 -g1,37:21950837,35070286 -) -) -] -$1,37:21950837,35070286 -x1,37:22335857,35070286 -g1,37:22592537,35070286 -$1,37:22592537,35070286 -(1,37:22592537,35070286:770040,506811,0 -x1,37:23362577,35070286 -) -g1,37:23493647,35070286 -(1,37:23493647,35070286:1030998,483719,152916 -(1,37:23493647,35070286:1030998,483719,152916 -x1,37:24524645,35070286 -) -) -$1,37:24524645,35070286 -g1,37:24781325,35070286 -$1,37:24781325,35070286 -x1,37:25850825,35070286 -g1,37:25981895,35070286 -(1,37:25981895,35070286:1030998,483719,152916 -(1,37:25981895,35070286:1030998,483719,152916 -x1,37:27012893,35070286 -) -) -g1,37:27187653,35070286 -x1,37:27786573,35070286 -g1,37:27961333,35070286 -x1,37:28731373,35070286 -g1,37:28862443,35070286 -(1,37:28862443,35070286:1030998,483719,152916 -(1,37:28862443,35070286:1030998,483719,152916 -x1,37:29893441,35070286 -) -) -x1,37:30192901,35070286 -$1,37:30192901,35070286 -k1,37:30377972,35070286:185071 -k1,37:30563042,35070286:185070 -) -(1,37:14846407,36806990:15716635,589824,196608 -h1,37:14846407,36806990:0,0,0 -$1,37:14846407,36806990 -[1,37:14846407,36806990:7104430,537395,157280 -(1,37:14846407,36806990:7104430,537395,0 -(1,37:14846407,36806990:7104430,537395,0 -(1,37:14846407,36806990:0,537395,152916 -x1,37:15370326,36806990 -x1,37:16461216,36806990 -g1,37:16717896,36806990 -x1,37:17102916,36806990 -k1,37:14846407,36806990:-2256509 -) -r1,37:14846407,36806990:0,537395,0 -g1,37:21950837,36806990 -g1,37:21950837,36806990 -) -) -] -$1,37:21950837,36806990 -x1,37:22335857,36806990 -g1,37:22592537,36806990 -$1,37:22592537,36806990 -(1,37:22592537,36806990:770040,506811,0 -x1,37:23362577,36806990 -) -g1,37:23493647,36806990 -(1,37:23493647,36806990:1030998,483719,152916 -(1,37:23493647,36806990:1030998,483719,152916 -x1,37:24524645,36806990 -) -) -$1,37:24524645,36806990 -k1,37:27543844,36806990:3019199 -k1,37:30563042,36806990:3019198 -) -(1,37:14846407,38543694:15716635,589824,196608 -h1,37:14846407,38543694:0,0,0 -$1,37:14846407,38543694 -[1,37:14846407,38543694:7104430,546132,157280 -(1,37:14846407,38543694:7104430,546132,0 -(1,37:14846407,38543694:7104430,546132,0 -(1,37:14846407,38543694:0,546132,0 -x1,37:15402547,38543694 -x1,37:16835677,38543694 -k1,37:14846407,38543694:-1989270 -) -g1,37:21950837,38543694 -) -) -] -$1,37:21950837,38543694 -x1,37:22335857,38543694 -g1,37:22592537,38543694 -$1,37:22592537,38543694 -(1,37:22592537,38543694:1155060,506811,0 -x1,37:23747597,38543694 -) -g1,37:23878667,38543694 -(1,37:23878667,38543694:1030998,483719,152916 -(1,37:23878667,38543694:1030998,483719,152916 -x1,37:24909665,38543694 -) -) -$1,37:24909665,38543694 -k1,37:27736354,38543694:2826689 -k1,37:30563042,38543694:2826688 -) -(1,37:14846407,40280398:15716635,546132,157280 -h1,37:14846407,40280398:0,0,0 -$1,37:14846407,40280398 -[1,37:14846407,40280398:7104430,546132,157280 -(1,37:14846407,40280398:7104430,546132,0 -(1,37:14846407,40280398:7104430,546132,0 -(1,37:14846407,40280398:0,546132,0 -x1,37:17119027,40280398 -k1,37:14846407,40280398:-2272620 -) -g1,37:21950837,40280398 -) -) -] -$1,37:21950837,40280398 -k1,37:26256940,40280398:4306103 -k1,37:30563042,40280398:4306102 -) -] -) -] -) -] -) -) -(1,37:14623585,41682862:16162279,12984858,222822 -[1,37:14623585,41905684:16162279,13207680,0 -(1,37:14623585,41892577:16162279,13181466,0 -r1,37:14649799,41892577:26214,13181466,0 -r1,37:30785864,41892577:26214,13181466,0 -) -] -) -) -g1,37:30785864,41682862 -g1,37:30785864,41682862 -) -] -(1,37:0,42626580:30785864,0,0 -h1,37:0,42626580:30785864,0,0 -) -] -] -] -!10794 -}1 -!10 -{2 -[1,192:0,42626580:30785864,42626580,0 -[1,192:0,0:0,0,0 -(1,192:0,-2433924:0,0,0 -k1,192:0,-2433924:65781 -) -] -[1,192:0,42626580:30785864,42626580,0 -[1,192:0,42626580:30785864,44994723,0 -[1,192:0,-1581711:30785864,786432,0 -(1,192:0,-1581711:30785864,0,0 -(1,192:0,-1581711:30785864,0,0 -k1,192:30785864,-1581711:30785864 -) -) -] -[1,192:0,41905684:30785864,42176675,0 -(1,39:0,1413283:30785864,1684274,285084 -(1,38:0,1413283:0,0,0 -h1,38:0,1413283:0,0,0 -) -(1,38:0,1413283:30785864,1684274,285084 -g1,38:0,1413283 -[1,38:0,1413283:3978540,1684274,152916 -(1,38:0,394196:3978540,665187,285084 -g1,38:0,394196 -(1,38:0,394196:3978540,665187,285084 -r1,38:0,394196:0,950271,285084 -x1,38:2870538,394196 -g1,38:3127218,394196 -x1,38:3405015,394196 -k1,38:3978540,394196:573525 -) -g1,38:3978540,394196 -) -(1,38:0,1413283:3978540,537395,152916 -g1,38:0,1413283 -(1,38:0,1413283:3978540,537395,152916 -x1,38:2181780,1413283 -g1,38:2438460,1413283 -x1,38:3978540,1413283 -g1,38:3978540,1413283 -) -g1,38:3978540,1413283 -) -] -k1,38:11014326,1413283:7035786 -[1,38:11014326,1413283:2079108,1399190,285084 -(1,38:11014326,551488:2079108,537395,0 -g1,38:11014326,551488 -(1,38:11014326,551488:2079108,537395,0 -g1,38:11014326,551488 -x1,38:11570466,551488 -x1,38:12451734,551488 -g1,38:12708414,551488 -x1,38:13093434,551488 -g1,38:13093434,551488 -) -g1,38:13093434,551488 -) -(1,38:11014326,1413283:2079108,665187,285084 -g1,38:11014326,1413283 -(1,38:11014326,1413283:2079108,665187,285084 -k1,38:12053880,1413283:1039554 -r1,38:12053880,1413283:0,950271,285084 -k1,38:13093434,1413283:1039554 -) -g1,38:13093434,1413283 -) -] -k1,38:20129219,1413283:7035785 -[1,38:20129219,1413283:10656645,1684274,152916 -(1,38:20129219,394196:10656645,665187,285084 -g1,38:20129219,394196 -(1,38:20129219,394196:10656645,665187,285084 -r1,38:20129219,394196:0,950271,285084 -$1,38:20129219,394196 -[1,38:20129219,394196:10656645,537395,157280 -(1,38:20129219,394196:10656645,537395,0 -(1,38:20129219,394196:10656645,537395,0 -(1,38:20129219,394196:10656645,537395,0 -x1,38:22289336,394196 -k1,38:30785864,394196:8496528 -) -) -) -] -$1,38:30785864,394196 -(1,38:30785864,394196:0,559146,164453 -(1,38:30785864,459977:0,624927,98672 -(1,38:30785864,459977:0,624927,98672 -k1,38:22546016,459977:-8239848 -(1,38:22546016,459977:8239848,624927,98672 -(1,38:22546016,558649:0,0,0 -) -(1,38:22546016,459977:8239848,624927,98672 -(1,38:22546016,558649:8239848,723599,0 -[1,38:22546016,558649:8239848,723599,0 -(1,38:22546016,-164950:8239848,0,0 -h1,38:22546016,-164950:0,0,0 -k1,38:30785864,-164950:8239848 -g1,38:30785864,-164950 -) -] -) -) -(1,38:30785864,-164950:0,0,0 -) -) -) -) -) -g1,38:30785864,394196 -) -g1,38:30785864,394196 -) -(1,38:20129219,1413283:10656645,537395,152916 -g1,38:20129219,1413283 -(1,38:20129219,1413283:10656645,537395,152916 -x1,38:20931208,1413283 -g1,38:21187888,1413283 -x1,38:21711807,1413283 -x1,38:21861537,1413283 -g1,38:22118217,1413283 -x1,38:23936367,1413283 -k1,38:30785864,1413283:6849497 -) -g1,38:30785864,1413283 -) -] -g1,38:30785864,1413283 -) -g1,39:30785864,1413283 -g1,39:30785864,1413283 -) -(1,46:0,2689602:30785864,589824,196608 -k1,43:0,2689602:0 -(1,43:0,2689602:0,0,0 -g1,43:0,2689602 -g1,43:0,2689602 -) -x1,43:604388,2689602 -x1,43:1715315,2689602 -k1,43:2029809,2689602:314494 -x1,43:2605070,2689602 -k1,43:2919565,2689602:314495 -x1,43:3219025,2689602 -$1,43:3219025,2689602 -(1,43:3219025,2689602:770040,506811,0 -x1,43:3989065,2689602 -) -k1,43:4120135,2689602:131070 -(1,43:4120135,2689602:2057718,521949,152916 -(1,43:4120135,2689602:2057718,521949,152916 -x1,43:4547935,2689602 -x1,43:5596045,2689602 -x1,43:6177853,2689602 -) -) -$1,43:6177853,2689602 -x1,43:6477313,2689602 -k1,43:6791807,2689602:314494 -k1,43:6791807,2689602:0 -k1,43:6791807,2689602:0 -x1,43:8224937,2689602 -k1,44:6791807,2689602:-21390 -x1,44:8545787,2689602 -k1,44:8819511,2689602:273724 -x1,44:9889011,2689602 -x1,44:10295421,2689602 -k1,44:10569145,2689602:273724 -x1,44:11189455,2689602 -k1,44:11463179,2689602:273724 -x1,44:12532679,2689602 -k1,44:12806402,2689602:273723 -x1,44:15848060,2689602 -k1,44:16121784,2689602:273724 -x1,44:18731364,2689602 -k1,44:19005088,2689602:273724 -x1,44:20844628,2689602 -k1,44:21237999,2689602:393371 -x1,44:21751086,2689602 -k1,44:22024810,2689602:273724 -x1,44:22431220,2689602 -x1,44:23222650,2689602 -k1,44:23496374,2689602:273724 -x1,44:24929504,2689602 -x1,44:25250354,2689602 -k1,44:25524078,2689602:273724 -x1,44:26336898,2689602 -k1,44:26610621,2689602:273723 -x1,44:28450161,2689602 -k1,44:28728146,2689602:277985 -x1,44:29155946,2689602 -k1,45:28728146,2689602:21390 -x1,45:30204056,2689602 -x1,45:30785864,2689602 -k1,45:30785864,2689602:0 -) -(1,46:0,3639874:30785864,546132,152916 -x1,46:1197840,3639874 -g1,45:1454520,3639874 -x1,45:1882320,3639874 -x1,45:2245950,3639874 -g1,45:2502630,3639874 -x1,45:6057648,3639874 -g1,45:6314328,3639874 -x1,45:7875798,3639874 -g1,45:8132478,3639874 -x1,45:8538888,3639874 -x1,45:9629778,3639874 -g1,45:9886458,3639874 -x1,45:11469318,3639874 -g1,45:11725998,3639874 -x1,45:13612596,3639874 -k1,46:30785864,3639874:17173268 -g1,46:30785864,3639874 -) -(1,51:1425408,4786754:29360456,589824,196608 -(1,48:1425408,4786754:0,0,0 -g1,48:1425408,4786754 -g1,48:0,4786754 -g1,48:-256680,4786754 -(1,48:-256680,4786754:1425408,0,0 -k1,48:1168728,4786754:1425408 -) -g1,48:1425408,4786754 -) -k1,49:1425408,4786754:0 -(1,49:1425408,4786754:0,589824,196608 -k1,49:-2436856,4786754:-3862264 -x1,49:-2137396,4786754 -$1,49:-2137396,4786754 -x1,49:-1778586,4786754 -(1,49:-1778586,4526336:778615,322479,101945 -x1,49:-1032739,4526336 -) -$1,49:-999971,4786754 -x1,49:-720896,4786754 -r1,49:-720896,4786754:0,786432,196608 -g1,49:1425408,4786754 -g1,49:1425408,4786754 -) -(1,49:1425408,4786754:0,506811,0 -k1,49:442368,4786754:-983040 -(1,49:442368,4786754:983040,506811,0 -x1,49:1130496,4786754 -g1,49:1425408,4786754 -) -) -x1,49:2926986,4786754 -k1,49:3218767,4786754:291781 -x1,49:3736405,4786754 -k1,49:4028186,4786754:291781 -x1,49:4841006,4786754 -k1,49:5132787,4786754:291781 -x1,49:7892097,4786754 -k1,49:8183878,4786754:291781 -x1,49:8804188,4786754 -k1,49:9095970,4786754:291782 -x1,49:9480990,4786754 -k1,49:9772771,4786754:291781 -x1,49:10585591,4786754 -x1,49:12467911,4786754 -x1,49:12788761,4786754 -k1,49:13080542,4786754:291781 -x1,49:16100810,4786754 -k1,49:16401366,4786754:300556 -x1,49:17470866,4786754 -k1,49:17762647,4786754:291781 -x1,49:19991485,4786754 -x1,49:20269555,4786754 -k1,49:20561336,4786754:291781 -x1,49:21720674,4786754 -k1,49:22012456,4786754:291782 -x1,49:22654156,4786754 -k1,49:22945937,4786754:291781 -x1,49:25345895,4786754 -k1,50:25637676,4786754:291781 -x1,50:27010914,4786754 -x1,50:28491102,4786754 -k1,50:28782883,4786754:291781 -x1,50:29424583,4786754 -k1,50:29716364,4786754:291781 -x1,50:30785864,4786754 -k1,50:30785864,4786754:0 -) -(1,51:1425408,5737026:29360456,546132,152916 -x1,51:3226446,5737026 -g1,50:3483126,5737026 -x1,50:3910926,5737026 -x1,50:4873476,5737026 -x1,50:5622126,5737026 -k1,51:30785864,5737026:25163738 -g1,51:30785864,5737026 -) -(1,59:1425408,7402677:29360456,1447199,920944 -(1,52:1425408,7402677:29360456,1447199,920944 -(1,52:1425408,8323621:0,0,0 -) -(1,52:1425408,7402677:29360456,1447199,920944 -(1,52:1425408,8323621:29360456,2368143,0 -[1,52:1425408,8323621:29360456,2368143,0 -(1,52:1425408,5955478:29360456,0,0 -h1,52:1425408,5955478:0,0,0 -k1,52:30785864,5955478:29360456 -g1,52:30785864,5955478 -) -] -) -) -(1,52:30785864,5955478:0,0,0 -) -) -g1,59:30785864,7402677 -g1,59:30785864,7402677 -) -(1,67:1425408,9447560:29360456,665187,213887 -(1,62:1425408,9447560:0,0,0 -g1,62:1425408,9447560 -g1,62:0,9447560 -g1,62:-256680,9447560 -(1,62:-256680,9447560:1425408,0,0 -k1,62:1168728,9447560:1425408 -) -g1,62:1425408,9447560 -) -k1,63:1425408,9447560:0 -(1,63:1425408,9447560:0,589824,196608 -k1,63:-2436856,9447560:-3862264 -x1,63:-2137396,9447560 -$1,63:-2137396,9447560 -x1,63:-1778586,9447560 -(1,63:-1778586,9187142:778615,322479,101945 -x1,63:-1032739,9187142 -) -$1,63:-999971,9447560 -x1,63:-720896,9447560 -r1,63:-720896,9447560:0,786432,196608 -g1,63:1425408,9447560 -g1,63:1425408,9447560 -) -(1,63:1425408,9447560:0,506811,0 -k1,63:442368,9447560:-983040 -(1,63:442368,9447560:983040,506811,0 -x1,63:1130496,9447560 -g1,63:1425408,9447560 -) -) -x1,63:2430465,9447560 -k1,63:2662162,9447560:231697 -x1,63:5421472,9447560 -k1,63:5653169,9447560:231697 -x1,63:6273479,9447560 -k1,63:6505176,9447560:231697 -x1,63:6890196,9447560 -k1,63:7121893,9447560:231697 -x1,63:8234173,9447560 -x1,63:8875873,9447560 -k1,63:9107571,9447560:231698 -x1,63:12127839,9447560 -k1,63:12457587,9447560:329748 -x1,63:13034844,9447560 -k1,64:13266541,9447560:231697 -x1,64:13784179,9447560 -k1,64:14015876,9447560:231697 -x1,64:14572016,9447560 -x1,64:15320666,9447560 -k1,64:15552364,9447560:231698 -x1,64:16771594,9447560 -x1,64:17734144,9447560 -k1,64:17965841,9447560:231697 -x1,64:19377581,9447560 -k1,64:19609278,9447560:231697 -(1,64:19609278,9447560:4736286,665187,157280 -$1,64:19609278,9447560 -[1,64:19609278,9447560:4736286,665187,157280 -(1,64:19609278,9447560:4736286,665187,0 -(1,64:19609278,9447560:4736286,665187,0 -(1,64:19609278,9447560:4736286,665187,285084 -k1,64:21188040,9447560:1578762 -r1,64:21188040,9447560:0,950271,285084 -k1,64:22766802,9447560:1578762 -k1,64:24345564,9447560:1578762 -) -) -) -] -$1,64:24345564,9447560 -) -(1,64:24345564,9447560:0,608580,213887 -(1,64:24345564,9513341:0,674361,148106 -(1,64:24345564,9513341:0,674361,148106 -k1,64:19609278,9513341:-4736286 -(1,64:19609278,9513341:4736286,674361,148106 -(1,64:19609278,9661447:0,0,0 -) -(1,64:19609278,9513341:4736286,674361,148106 -(1,64:19609278,9661447:4736286,822467,0 -[1,64:19609278,9661447:4736286,822467,0 -(1,64:19609278,8838980:4736286,0,0 -h1,64:19609278,8838980:0,0,0 -k1,64:24345564,8838980:4736286 -g1,64:24345564,8838980 -) -] -) -) -(1,64:24345564,8838980:0,0,0 -) -) -) -) -) -k1,64:24577261,9447560:231697 -x1,64:25817881,9447560 -k1,64:26049578,9447560:231697 -(1,65:26049578,9447560:4736286,665187,157280 -$1,65:26049578,9447560 -[1,65:26049578,9447560:4736286,665187,157280 -(1,65:26049578,9447560:4736286,665187,0 -(1,65:26049578,9447560:4736286,665187,0 -(1,65:26049578,9447560:4736286,665187,285084 -k1,65:27628340,9447560:1578762 -r1,65:27628340,9447560:0,950271,285084 -k1,65:29207102,9447560:1578762 -k1,65:30785864,9447560:1578762 -) -) -) -] -$1,65:30785864,9447560 -) -(1,65:30785864,9447560:0,608580,213887 -(1,65:30785864,9513341:0,674361,148106 -(1,65:30785864,9513341:0,674361,148106 -k1,65:26049578,9513341:-4736286 -(1,65:26049578,9513341:4736286,674361,148106 -(1,65:26049578,9661447:0,0,0 -) -(1,65:26049578,9513341:4736286,674361,148106 -(1,65:26049578,9661447:4736286,822467,0 -[1,65:26049578,9661447:4736286,822467,0 -(1,65:26049578,8838980:4736286,0,0 -h1,65:26049578,8838980:0,0,0 -k1,65:30785864,8838980:4736286 -g1,65:30785864,8838980 -) -] -) -) -(1,65:30785864,8838980:0,0,0 -) -) -) -) -) -k1,65:30785864,9447560:0 -) -(1,67:1425408,10397832:29360456,546132,152916 -x1,67:2452128,10397832 -g1,65:2708808,10397832 -x1,65:3970818,10397832 -x1,65:4869198,10397832 -g1,65:5125878,10397832 -x1,65:7821018,10397832 -g1,65:8077698,10397832 -x1,65:8766456,10397832 -g1,65:9023136,10397832 -x1,65:10092636,10397832 -g1,65:10349316,10397832 -x1,65:13198464,10397832 -g1,65:13455144,10397832 -x1,65:14075454,10397832 -g1,65:14332134,10397832 -x1,65:15358854,10397832 -k1,66:14332134,10397832:21390 -x1,66:16877544,10397832 -g1,66:17134224,10397832 -x1,66:20004762,10397832 -k1,67:30785864,10397832:10781102 -g1,67:30785864,10397832 -) -(1,81:1425408,11741320:29360456,671603,196608 -(1,80:1425408,11741320:0,0,0 -g1,80:1425408,11741320 -g1,80:0,11741320 -g1,80:-256680,11741320 -(1,80:-256680,11741320:1425408,0,0 -k1,80:1168728,11741320:1425408 -) -g1,80:1425408,11741320 -) -g1,80:1425408,11741320 -(1,80:1425408,11741320:0,671603,196608 -k1,80:-2436856,11741320:-3862264 -x1,80:-2137396,11741320 -$1,80:-2137396,11741320 -x1,80:-1778586,11741320 -[1,80:-1778586,11834692:778615,764975,0 -(1,80:-1778586,11392196:778615,322479,101945 -x1,80:-1032739,11392196 -) -(1,80:-1778586,11834692:713624,225735,0 -x1,80:-1097730,11834692 -) -] -$1,80:-999971,11741320 -x1,80:-720896,11741320 -r1,80:-720896,11741320:0,868211,196608 -g1,80:1425408,11741320 -g1,80:1425408,11741320 -) -(1,80:1425408,11741320:0,506811,0 -k1,80:442368,11741320:-983040 -(1,80:442368,11741320:983040,506811,0 -x1,80:1130496,11741320 -g1,80:1425408,11741320 -) -) -x1,80:1975916,11741320 -x1,80:3008119,11741320 -g1,80:3323599,11741320 -x1,80:4008079,11741320 -g1,80:4264759,11741320 -x1,80:4766842,11741320 -x1,80:6180063,11741320 -g1,80:6522303,11741320 -x1,80:7484580,11741320 -g1,80:7741260,11741320 -x1,80:9221448,11741320 -x1,80:11702688,11741320 -g1,80:11959368,11741320 -x1,80:14483388,11741320 -k1,81:30785864,11741320:16302476 -g1,81:30785864,11741320 -) -(1,90:4931568,12876048:25854296,665187,213887 -(1,87:4931568,12876048:0,589824,196608 -g1,87:4931568,12876048 -g1,87:3904848,12876048 -g1,87:1425408,12876048 -(1,87:1425408,12876048:1026720,589824,196608 -g1,87:1425408,12876048 -(1,87:1425408,12876048:1026720,589824,196608 -k1,87:1439668,12876048:14260 -x1,87:1739128,12876048 -k1,87:1753388,12876048:14260 -x1,87:2138408,12876048 -k1,87:2152668,12876048:14260 -x1,87:2452128,12876048 -) -) -g1,87:4931568,12876048 -) -(1,87:4931568,12876048:0,665187,213887 -k1,87:2708808,12876048:-2222760 -(1,87:2708808,12876048:1966080,665187,157280 -$1,87:2708808,12876048 -[1,87:2708808,12876048:1966080,665187,157280 -(1,87:2708808,12876048:1966080,665187,0 -(1,87:2708808,12876048:1966080,665187,0 -(1,87:2708808,12876048:1966080,665187,285084 -k1,87:3364168,12876048:655360 -r1,87:3364168,12876048:0,950271,285084 -k1,87:4019528,12876048:655360 -k1,87:4674888,12876048:655360 -) -) -) -] -$1,87:4674888,12876048 -) -(1,87:4674888,12876048:0,608580,213887 -(1,87:4674888,12941829:0,674361,148106 -(1,87:4674888,12941829:0,674361,148106 -k1,87:2708808,12941829:-1966080 -(1,87:2708808,12941829:1966080,674361,148106 -(1,87:2708808,13089935:0,0,0 -) -(1,87:2708808,12941829:1966080,674361,148106 -(1,87:2708808,13089935:1966080,822467,0 -[1,87:2708808,13089935:1966080,822467,0 -(1,87:2708808,12267468:1966080,0,0 -h1,87:2708808,12267468:0,0,0 -k1,87:4674888,12267468:1966080 -g1,87:4674888,12267468 -) -] -) -) -(1,87:4674888,12267468:0,0,0 -) -) -) -) -) -g1,87:4931568,12876048 -) -x1,87:5444655,12876048 -k1,87:5717126,12876048:272471 -x1,87:8587664,12876048 -k1,87:8860136,12876048:272472 -x1,87:9672956,12876048 -x1,87:10057976,12876048 -x1,87:10378826,12876048 -k1,87:10651297,12876048:272471 -$1,87:10651297,12876048 -x1,87:11036317,12876048 -$1,87:11036317,12876048 -k1,87:11308789,12876048:272472 -x1,87:13114105,12876048 -k1,87:13390524,12876048:276419 -x1,87:14887824,12876048 -k1,87:15160295,12876048:272471 -x1,87:15973115,12876048 -k1,87:16245587,12876048:272472 -x1,87:18106517,12876048 -x1,87:19137515,12876048 -k1,87:19409986,12876048:272471 -x1,87:20436706,12876048 -k1,88:20709178,12876048:272472 -x1,88:22719838,12876048 -k1,88:23109452,12876048:389614 -x1,88:24071729,12876048 -x1,88:24606479,12876048 -k1,88:24878950,12876048:272471 -x1,88:25396588,12876048 -k1,88:25669060,12876048:272472 -x1,88:26738560,12876048 -k1,88:27011031,12876048:272471 -x1,88:28508331,12876048 -k1,88:28780803,12876048:272472 -x1,88:29700573,12876048 -k1,88:29973044,12876048:272471 -x1,88:30785864,12876048 -k1,88:30785864,12876048:0 -) -(1,90:4931568,13826320:25854296,546132,152916 -x1,90:5701608,13826320 -x1,88:6108018,13826320 -x1,88:6557208,13826320 -g1,88:6813888,13826320 -x1,88:8225628,13826320 -g1,88:8482308,13826320 -x1,88:9166788,13826320 -g1,88:9423468,13826320 -x1,88:11134668,13826320 -g1,88:11391348,13826320 -x1,88:12075828,13826320 -g1,88:12332508,13826320 -x1,88:13402008,13826320 -g1,88:13658688,13826320 -x1,88:14685408,13826320 -g1,88:14942088,13826320 -x1,88:15562398,13826320 -g1,89:15819078,13826320 -x1,89:17401938,13826320 -g1,89:17658618,13826320 -x1,89:19241478,13826320 -x1,89:20225418,13826320 -x1,89:20375148,13826320 -k1,90:30785864,13826320:10410716 -g1,90:30785864,13826320 -) -(1,107:4931568,14973200:25854296,713465,213887 -(1,104:4931568,14973200:0,589824,196608 -g1,104:4931568,14973200 -g1,104:3904848,14973200 -g1,104:1425408,14973200 -(1,104:1425408,14973200:1026720,589824,196608 -g1,104:1425408,14973200 -(1,104:1425408,14973200:1026720,589824,196608 -g1,104:1425408,14973200 -x1,104:1724868,14973200 -g1,104:1724868,14973200 -x1,104:2152668,14973200 -g1,104:2152668,14973200 -x1,104:2452128,14973200 -) -) -g1,104:4931568,14973200 -) -(1,104:4931568,14973200:0,665187,213887 -k1,104:2708808,14973200:-2222760 -(1,104:2708808,14973200:1966080,665187,157280 -$1,104:2708808,14973200 -[1,104:2708808,14973200:1966080,665187,157280 -(1,104:2708808,14973200:1966080,665187,0 -(1,104:2708808,14973200:1966080,665187,0 -(1,104:2708808,14973200:1966080,665187,285084 -k1,104:3364168,14973200:655360 -r1,104:3364168,14973200:0,950271,285084 -k1,104:4019528,14973200:655360 -k1,104:4674888,14973200:655360 -) -) -) -] -$1,104:4674888,14973200 -) -(1,104:4674888,14973200:0,608580,213887 -(1,104:4674888,15038981:0,674361,148106 -(1,104:4674888,15038981:0,674361,148106 -k1,104:2708808,15038981:-1966080 -(1,104:2708808,15038981:1966080,674361,148106 -(1,104:2708808,15187087:0,0,0 -) -(1,104:2708808,15038981:1966080,674361,148106 -(1,104:2708808,15187087:1966080,822467,0 -[1,104:2708808,15187087:1966080,822467,0 -(1,104:2708808,14364620:1966080,0,0 -h1,104:2708808,14364620:0,0,0 -k1,104:4674888,14364620:1966080 -g1,104:4674888,14364620 -) -] -) -) -(1,104:4674888,14364620:0,0,0 -) -) -) -) -) -g1,104:4931568,14973200 -) -$1,104:4931568,14973200 -x1,104:5316588,14973200 -k1,104:5515380,14973200:198792 -x1,104:6114300,14973200 -k1,104:6313092,14973200:198792 -x1,104:6698112,14973200 -k1,104:6976643,14973200:278531 -x1,104:7575563,14973200 -k1,104:7854093,14973200:278530 -x1,104:8239113,14973200 -$1,104:8239113,14973200 -k1,104:8531091,14973200:291978 -x1,104:8744991,14973200 -x1,104:9194181,14973200 -k1,104:9486158,14973200:291977 -$1,104:9486158,14973200 -(1,104:9486158,14973200:1040382,713465,104422 -(1,104:9486158,14322647:655362,31456,754975 -x1,104:10141520,14322647 -) -[1,104:10141520,14973200:385020,713465,0 -(1,104:10141520,14973200:385020,506811,0 -x1,104:10526540,14973200 -) -] -) -$1,104:10526540,14973200 -k1,104:10818517,14973200:291977 -x1,104:11336155,14973200 -k1,104:11628133,14973200:291978 -x1,104:12013153,14973200 -k1,104:12305130,14973200:291977 -x1,104:14914710,14973200 -k1,104:15206688,14973200:291978 -x1,104:15634488,14973200 -x1,104:16682598,14973200 -x1,104:17089008,14973200 -x1,104:17965998,14973200 -k1,104:18414130,14973200:448132 -x1,104:19376407,14973200 -x1,104:19911157,14973200 -k1,104:20203134,14973200:291977 -x1,104:20720772,14973200 -k1,105:21012750,14973200:291978 -x1,105:22082250,14973200 -k1,105:22374227,14973200:291977 -x1,105:23871527,14973200 -k1,105:24163504,14973200:291977 -x1,105:25083274,14973200 -k1,105:25375252,14973200:291978 -x1,105:26188072,14973200 -k1,105:26480049,14973200:291977 -x1,105:27250089,14973200 -x1,105:27656499,14973200 -x1,105:28105689,14973200 -k1,105:28397667,14973200:291978 -x1,105:29809407,14973200 -k1,105:30101384,14973200:291977 -x1,105:30785864,14973200 -k1,105:30785864,14973200:0 -) -(1,107:4931568,15923472:25854296,546132,152916 -x1,107:6642768,15923472 -g1,105:6899448,15923472 -x1,105:7583928,15923472 -g1,105:7840608,15923472 -x1,105:8910108,15923472 -g1,105:9166788,15923472 -x1,105:10193508,15923472 -g1,105:10450188,15923472 -x1,105:11070498,15923472 -g1,105:11327178,15923472 -x1,105:12910038,15923472 -g1,105:13166718,15923472 -x1,105:14749578,15923472 -k1,106:13166718,15923472:-21390 -x1,106:15733518,15923472 -x1,106:15883248,15923472 -k1,107:30785864,15923472:14902616 -g1,107:30785864,15923472 -) -(1,122:4931568,17070352:25854296,665187,213887 -(1,116:4931568,17070352:0,589824,196608 -g1,116:4931568,17070352 -g1,116:3904848,17070352 -g1,116:1425408,17070352 -(1,116:1425408,17070352:1026720,589824,196608 -g1,116:1425408,17070352 -(1,116:1425408,17070352:1026720,589824,196608 -k1,116:1453928,17070352:28520 -x1,116:1753388,17070352 -k1,116:1781908,17070352:28520 -x1,116:2124148,17070352 -k1,116:2152668,17070352:28520 -x1,116:2452128,17070352 -) -) -g1,116:4931568,17070352 -) -(1,116:4931568,17070352:0,665187,213887 -k1,116:2708808,17070352:-2222760 -(1,116:2708808,17070352:1966080,665187,157280 -$1,116:2708808,17070352 -[1,116:2708808,17070352:1966080,665187,157280 -(1,116:2708808,17070352:1966080,665187,0 -(1,116:2708808,17070352:1966080,665187,0 -(1,116:2708808,17070352:1966080,665187,285084 -k1,116:3364168,17070352:655360 -r1,116:3364168,17070352:0,950271,285084 -k1,116:4019528,17070352:655360 -k1,116:4674888,17070352:655360 -) -) -) -] -$1,116:4674888,17070352 -) -(1,116:4674888,17070352:0,608580,213887 -(1,116:4674888,17136133:0,674361,148106 -(1,116:4674888,17136133:0,674361,148106 -k1,116:2708808,17136133:-1966080 -(1,116:2708808,17136133:1966080,674361,148106 -(1,116:2708808,17284239:0,0,0 -) -(1,116:2708808,17136133:1966080,674361,148106 -(1,116:2708808,17284239:1966080,822467,0 -[1,116:2708808,17284239:1966080,822467,0 -(1,116:2708808,16461772:1966080,0,0 -h1,116:2708808,16461772:0,0,0 -k1,116:4674888,16461772:1966080 -g1,116:4674888,16461772 -) -] -) -) -(1,116:4674888,16461772:0,0,0 -) -) -) -) -) -g1,116:4931568,17070352 -) -$1,116:4931568,17070352 -x1,116:7516812,17070352 -x1,116:8956997,17070352 -k1,116:9218215,17070352:233001 -x1,116:9817135,17070352 -k1,116:10050136,17070352:233001 -x1,116:10734616,17070352 -$1,116:10734616,17070352 -k1,116:11504656,17070352:770040 -x1,116:11804116,17070352 -$1,116:11804116,17070352 -x1,116:12241702,17070352 -$1,116:12241702,17070352 -x1,116:12455602,17070352 -k1,116:12722968,17070352:267366 -$1,117:12722968,17070352 -x1,117:13098430,17070352 -$1,117:13126647,17070352 -k1,117:13391876,17070352:265229 -x1,117:14632496,17070352 -k1,117:14897725,17070352:265229 -x1,117:15325525,17070352 -x1,117:16373635,17070352 -x1,117:16780045,17070352 -x1,117:18260233,17070352 -k1,117:18628119,17070352:367886 -x1,117:19590396,17070352 -x1,117:20125146,17070352 -k1,117:20390375,17070352:265229 -x1,117:20908013,17070352 -k1,117:21173241,17070352:265228 -x1,117:22242741,17070352 -k1,117:22507970,17070352:265229 -x1,117:24005270,17070352 -k1,117:24270499,17070352:265229 -x1,117:25190269,17070352 -k1,117:25455498,17070352:265229 -x1,117:26268318,17070352 -k1,117:26533546,17070352:265228 -x1,117:27303586,17070352 -x1,117:27709996,17070352 -x1,117:28159186,17070352 -k1,117:28424415,17070352:265229 -x1,117:29836155,17070352 -k1,117:30101384,17070352:265229 -x1,117:30785864,17070352 -k1,117:30785864,17070352:0 -) -(1,122:4931568,18020624:25854296,546132,152916 -x1,122:6642768,18020624 -g1,117:6899448,18020624 -x1,117:7583928,18020624 -g1,117:7840608,18020624 -x1,117:8910108,18020624 -g1,118:9166788,18020624 -x1,118:10193508,18020624 -g1,118:10450188,18020624 -x1,118:11070498,18020624 -g1,118:11327178,18020624 -x1,118:12910038,18020624 -g1,118:13166718,18020624 -x1,118:14749578,18020624 -x1,118:15733518,18020624 -x1,118:15883248,18020624 -k1,122:30785864,18020624:14902616 -g1,122:30785864,18020624 -) -(1,128:4931568,19167504:25854296,665187,213887 -(1,123:4931568,19167504:0,589824,196608 -g1,123:4931568,19167504 -g1,123:3904848,19167504 -g1,123:1425408,19167504 -(1,123:1425408,19167504:1026720,589824,196608 -g1,123:1425408,19167504 -(1,123:1425408,19167504:1026720,589824,196608 -g1,123:1425408,19167504 -x1,123:1724868,19167504 -g1,123:1724868,19167504 -x1,123:2152668,19167504 -g1,123:2152668,19167504 -x1,123:2452128,19167504 -) -) -g1,123:4931568,19167504 -) -(1,123:4931568,19167504:0,665187,213887 -k1,123:2708808,19167504:-2222760 -(1,123:2708808,19167504:1966080,665187,157280 -$1,123:2708808,19167504 -[1,123:2708808,19167504:1966080,665187,157280 -(1,123:2708808,19167504:1966080,665187,0 -(1,123:2708808,19167504:1966080,665187,0 -(1,123:2708808,19167504:1966080,665187,285084 -k1,123:3364168,19167504:655360 -r1,123:3364168,19167504:0,950271,285084 -k1,123:4019528,19167504:655360 -k1,123:4674888,19167504:655360 -) -) -) -] -$1,123:4674888,19167504 -) -(1,123:4674888,19167504:0,608580,213887 -(1,123:4674888,19233285:0,674361,148106 -(1,123:4674888,19233285:0,674361,148106 -k1,123:2708808,19233285:-1966080 -(1,123:2708808,19233285:1966080,674361,148106 -(1,123:2708808,19381391:0,0,0 -) -(1,123:2708808,19233285:1966080,674361,148106 -(1,123:2708808,19381391:1966080,822467,0 -[1,123:2708808,19381391:1966080,822467,0 -(1,123:2708808,18558924:1966080,0,0 -h1,123:2708808,18558924:0,0,0 -k1,123:4674888,18558924:1966080 -g1,123:4674888,18558924 -) -] -) -) -(1,123:4674888,18558924:0,0,0 -) -) -) -) -) -g1,123:4931568,19167504 -) -$1,123:4931568,19167504 -x1,123:7516812,19167504 -x1,123:8938571,19167504 -x1,123:9930248,19167504 -x1,123:10702337,19167504 -g1,123:10877097,19167504 -x1,123:11476017,19167504 -g1,123:11650777,19167504 -x1,123:12026239,19167504 -x1,123:12353916,19167504 -g1,123:12572366,19167504 -x1,123:13171286,19167504 -g1,123:13389736,19167504 -x1,123:14074216,19167504 -$1,123:14074216,19167504 -x1,123:14288116,19167504 -g1,123:14544796,19167504 -g1,124:15314836,19167504 -x1,124:15614296,19167504 -$1,124:15614296,19167504 -x1,124:16051882,19167504 -$1,124:16051882,19167504 -x1,124:16265782,19167504 -g1,124:16522462,19167504 -$1,124:16522462,19167504 -x1,124:16897924,19167504 -$1,124:16926141,19167504 -x1,124:17140041,19167504 -g1,124:17396721,19167504 -x1,124:18637341,19167504 -g1,124:18894021,19167504 -$1,124:18894021,19167504 -x1,124:19251735,19167504 -$1,124:19286778,19167504 -g1,124:19543458,19167504 -x1,124:20784078,19167504 -g1,124:21040758,19167504 -x1,124:21468558,19167504 -x1,124:22516668,19167504 -x1,124:22923078,19167504 -x1,124:24403266,19167504 -k1,128:30785864,19167504:6382598 -g1,128:30785864,19167504 -) -(1,137:1425408,20683296:29360456,589824,196608 -(1,133:1425408,20683296:0,0,0 -g1,133:1425408,20683296 -g1,133:0,20683296 -g1,133:-256680,20683296 -(1,133:-256680,20683296:1425408,0,0 -k1,133:1168728,20683296:1425408 -) -g1,133:1425408,20683296 -) -k1,133:1425408,20683296:0 -(1,133:1425408,20683296:0,589824,196608 -k1,133:-2795666,20683296:-4221074 -x1,133:-2496206,20683296 -$1,133:-2496206,20683296 -(1,133:-2496206,20683296:717620,462465,0 -x1,133:-1778586,20683296 -) -(1,133:-1778586,20422878:778615,322479,101945 -x1,133:-1032739,20422878 -) -$1,133:-999971,20683296 -x1,133:-720896,20683296 -r1,133:-720896,20683296:0,786432,196608 -g1,133:1425408,20683296 -g1,133:1425408,20683296 -) -(1,133:1425408,20683296:0,506811,0 -k1,133:442368,20683296:-983040 -(1,133:442368,20683296:983040,506811,0 -x1,133:1130496,20683296 -g1,133:1425408,20683296 -) -) -x1,133:2986605,20683296 -k1,133:3157964,20683296:171359 -x1,133:3675602,20683296 -k1,133:3846960,20683296:171358 -x1,133:4659780,20683296 -k1,133:4831139,20683296:171359 -x1,133:7590449,20683296 -k1,133:7761807,20683296:171358 -x1,133:8382117,20683296 -k1,133:8553476,20683296:171359 -x1,133:8938496,20683296 -k1,133:9109854,20683296:171358 -x1,133:10607154,20683296 -k1,133:10778513,20683296:171359 -x1,133:13730333,20683296 -k1,133:13901692,20683296:171359 -x1,133:16853512,20683296 -k1,133:17167311,20683296:313799 -x1,133:17744568,20683296 -k1,133:17915927,20683296:171359 -x1,133:19006817,20683296 -x1,133:19631405,20683296 -k1,133:19802763,20683296:171358 -x1,133:20872263,20683296 -k1,133:21043622,20683296:171359 -x1,133:23781542,20683296 -k1,134:23952900,20683296:171358 -x1,134:26861940,20683296 -x1,134:27140010,20683296 -k1,134:27311369,20683296:171359 -x1,134:27525269,20683296 -x1,134:30358064,20683296 -x1,134:30785864,20683296 -k1,134:30785864,20683296:0 -) -(1,137:1425408,21633568:29360456,546132,152916 -x1,137:2002665,21633568 -x1,134:2751315,21633568 -g1,134:3007995,21633568 -x1,134:3739533,21633568 -x1,134:5301003,21633568 -g1,134:5557683,21633568 -x1,134:6627183,21633568 -g1,134:6883863,21633568 -x1,134:7311663,21633568 -k1,135:6883863,21633568:21390 -x1,135:8359773,21633568 -x1,135:8941581,21633568 -g1,135:9198261,21633568 -x1,135:10575777,21633568 -x1,135:12607827,21633568 -g1,135:12864507,21633568 -x1,135:14361807,21633568 -g1,135:14618487,21633568 -x1,135:15687987,21633568 -x1,135:16094397,21633568 -g1,135:16351077,21633568 -x1,135:17762817,21633568 -g1,135:18019497,21633568 -x1,135:19777755,21633568 -g1,135:20034435,21633568 -x1,135:21103935,21633568 -g1,135:21360615,21633568 -x1,135:22979355,21633568 -g1,135:23236035,21633568 -x1,135:26701215,21633568 -k1,137:30785864,21633568:4084649 -g1,137:30785864,21633568 -) -(1,141:2708808,22768297:28077056,589824,196608 -(1,140:2708808,22768297:0,589824,196608 -g1,140:2708808,22768297 -g1,140:1682088,22768297 -g1,140:1425408,22768297 -(1,140:1425408,22768297:1026720,589824,196608 -g1,140:1425408,22768297 -(1,140:1425408,22768297:1026720,589824,196608 -k1,140:1439668,22768297:14260 -x1,140:1739128,22768297 -k1,140:1753388,22768297:14260 -x1,140:2138408,22768297 -k1,140:2152668,22768297:14260 -x1,140:2452128,22768297 -) -) -g1,140:2708808,22768297 -) -x1,140:3008268,22768297 -$1,140:3008268,22768297 -(1,140:3008268,22768297:770040,506811,0 -x1,140:3778308,22768297 -) -g1,140:3909378,22768297 -(1,140:3909378,22768297:1030998,483719,152916 -(1,140:3909378,22768297:1030998,483719,152916 -x1,140:4940376,22768297 -) -) -$1,140:4940376,22768297 -x1,140:5239836,22768297 -g1,140:5496516,22768297 -x1,140:6998094,22768297 -g1,140:7254774,22768297 -x1,140:7639794,22768297 -g1,140:7896474,22768297 -x1,140:9436554,22768297 -g1,140:9693234,22768297 -x1,140:11062194,22768297 -k1,141:30785864,22768297:19723670 -g1,141:30785864,22768297 -) -(1,145:2708808,25069676:28077056,2039235,1512980 -(1,142:2708808,25069676:28077056,2039235,1512980 -(1,142:2708808,26582656:0,0,0 -) -(1,142:2708808,25069676:28077056,2039235,1512980 -(1,142:2708808,26582656:28077056,3552215,0 -[1,142:2708808,26582656:28077056,3552215,0 -(1,142:2708808,23030441:28077056,0,0 -h1,142:2708808,23030441:0,0,0 -k1,142:30785864,23030441:28077056 -g1,142:30785864,23030441 -) -] -) -) -(1,142:30785864,23030441:0,0,0 -) -) -g1,145:30785864,25069676 -g1,145:30785864,25069676 -) -(1,147:2708808,27434624:28077056,589824,196608 -(1,146:2708808,27434624:0,589824,196608 -g1,146:2708808,27434624 -g1,146:1682088,27434624 -g1,146:1425408,27434624 -(1,146:1425408,27434624:1026720,589824,196608 -g1,146:1425408,27434624 -(1,146:1425408,27434624:1026720,589824,196608 -g1,146:1425408,27434624 -x1,146:1724868,27434624 -g1,146:1724868,27434624 -x1,146:2152668,27434624 -g1,146:2152668,27434624 -x1,146:2452128,27434624 -) -) -g1,146:2708808,27434624 -) -x1,146:3008268,27434624 -$1,146:3008268,27434624 -x1,146:3393288,27434624 -g1,146:3524358,27434624 -(1,146:3524358,27434624:1030998,483719,152916 -(1,146:3524358,27434624:1030998,483719,152916 -x1,146:4555356,27434624 -) -) -$1,146:4555356,27434624 -x1,146:4854816,27434624 -g1,146:5111496,27434624 -x1,146:6613074,27434624 -g1,146:6869754,27434624 -x1,146:8024814,27434624 -g1,146:8281494,27434624 -x1,146:8799132,27434624 -g1,146:9055812,27434624 -x1,146:10702842,27434624 -x1,146:11142702,27434624 -g1,146:11399382,27434624 -x1,146:12088140,27434624 -g1,146:12344820,27434624 -x1,146:14098800,27434624 -k1,147:30785864,27434624:16687064 -g1,147:30785864,27434624 -) -(1,151:2708808,29736003:28077056,2039235,1512980 -(1,148:2708808,29736003:28077056,2039235,1512980 -(1,148:2708808,31248983:0,0,0 -) -(1,148:2708808,29736003:28077056,2039235,1512980 -(1,148:2708808,31248983:28077056,3552215,0 -[1,148:2708808,31248983:28077056,3552215,0 -(1,148:2708808,27696768:28077056,0,0 -h1,148:2708808,27696768:0,0,0 -k1,148:30785864,27696768:28077056 -g1,148:30785864,27696768 -) -] -) -) -(1,148:30785864,27696768:0,0,0 -) -) -g1,151:30785864,29736003 -g1,151:30785864,29736003 -) -(1,161:1425408,32469863:29360456,589824,196608 -(1,158:1425408,32469863:0,0,0 -g1,158:1425408,32469863 -g1,158:0,32469863 -g1,158:-256680,32469863 -(1,158:-256680,32469863:1425408,0,0 -k1,158:1168728,32469863:1425408 -) -g1,158:1425408,32469863 -) -k1,158:1425408,32469863:0 -(1,158:1425408,32469863:0,589824,196608 -k1,158:-2795666,32469863:-4221074 -x1,158:-2496206,32469863 -$1,158:-2496206,32469863 -(1,158:-2496206,32469863:717620,462465,0 -x1,158:-1778586,32469863 -) -(1,158:-1778586,32209445:778615,322479,101945 -x1,158:-1032739,32209445 -) -$1,158:-999971,32469863 -x1,158:-720896,32469863 -r1,158:-720896,32469863:0,786432,196608 -g1,158:1425408,32469863 -g1,158:1425408,32469863 -) -(1,158:1425408,32469863:0,506811,0 -k1,158:442368,32469863:-983040 -(1,158:442368,32469863:983040,506811,0 -x1,158:1130496,32469863 -g1,158:1425408,32469863 -) -) -x1,158:3393288,32469863 -k1,159:3705081,32469863:311793 -x1,159:4774581,32469863 -k1,159:5086374,32469863:311793 -x1,159:7396494,32469863 -k1,159:7708287,32469863:311793 -x1,159:9380985,32469863 -x1,159:10001295,32469863 -k1,159:10313089,32469863:311794 -x1,159:11232859,32469863 -k1,159:11544652,32469863:311793 -x1,159:12614152,32469863 -x1,159:13020562,32469863 -k1,159:13332355,32469863:311793 -x1,159:13952665,32469863 -k1,159:14264458,32469863:311793 -x1,159:15333958,32469863 -k1,159:15645751,32469863:311793 -x1,159:17078881,32469863 -x1,159:18640351,32469863 -k1,159:18952144,32469863:311793 -x1,159:19593844,32469863 -x1,159:21711454,32469863 -k1,159:22023247,32469863:311793 -x1,159:22365487,32469863 -k1,160:22023247,32469863:-21390 -x1,160:24269197,32469863 -k1,160:24776777,32469863:507580 -x1,160:26744657,32469863 -k1,160:27056450,32469863:311793 -x1,160:27574088,32469863 -k1,160:27885881,32469863:311793 -x1,160:29319011,32469863 -k1,160:29630804,32469863:311793 -x1,160:30785864,32469863 -k1,160:30785864,32469863:0 -) -(1,161:1425408,33420135:29360456,483719,0 -x1,161:3735528,33420135 -g1,160:3992208,33420135 -x1,160:5664906,33420135 -x1,160:6499116,33420135 -k1,161:30785864,33420135:24286748 -g1,161:30785864,33420135 -) -(1,188:1425408,34567015:29360456,665187,6969756 -r1,161:1425408,34567015:0,7634943,6969756 -g1,161:2708808,34567015 -(1,188:2708808,34567015:0,665187,6969756 -$1,188:2708808,34567015 -[1,188:2708808,34567015:0,665187,6969756 -(1,188:2708808,34567015:-37458944,665187,6969756 -g1,163:2708808,34567015 -(1,175:2708808,34567015:14038528,665187,6969756 -r1,163:2708808,34567015:0,950271,285084 -[1,175:2708808,34567015:13298524,665187,3791259 -(1,164:2708808,34567015:13298524,665187,285084 -h1,163:2708808,34567015:0,0,0 -r1,163:2708808,34567015:0,950271,285084 -g1,163:2708808,34567015 -(1,163:2708808,34567015:0,589824,196608 -k1,163:1468188,34567015:-1240620 -x1,163:1767648,34567015 -g1,163:1767648,34567015 -x1,163:2152668,34567015 -g1,163:2152668,34567015 -x1,163:2452128,34567015 -g1,163:2708808,34567015 -) -x1,163:3008268,34567015 -$1,163:3008268,34567015 -x1,163:3393288,34567015 -g1,163:3524358,34567015 -(1,163:3524358,34567015:1030998,483719,152916 -(1,163:3524358,34567015:1030998,483719,152916 -x1,163:4555356,34567015 -) -) -$1,163:4555356,34567015 -x1,163:4854816,34567015 -g1,163:5111496,34567015 -x1,163:5817093,34567015 -g1,163:6073773,34567015 -x1,163:7742193,34567015 -g1,163:7998873,34567015 -x1,163:8405283,34567015 -x1,163:9410613,34567015 -g1,163:9667293,34567015 -x1,163:10736793,34567015 -g1,163:10993473,34567015 -x1,163:13218033,34567015 -x1,163:14355981,34567015 -g1,163:14612661,34567015 -x1,163:15729219,34567015 -k1,163:16007332,34567015:278113 -) -(1,164:2708808,35517287:13298524,546132,0 -x1,164:3778308,35517287 -g1,163:4034988,35517287 -x1,163:4420008,35517287 -x1,163:5938698,35517287 -g1,163:6195378,35517287 -x1,163:7970748,35517287 -k1,164:11989040,35517287:4018292 -k1,164:16007332,35517287:4018292 -) -(1,171:2708808,37122918:13298524,1343487,950271 -(1,171:2708808,37122918:13298524,1343487,950271 -$1,171:2708808,37122918 -[1,171:2708808,37122918:13298524,1343487,950271 -(1,169:2708808,36444618:13298524,665187,285084 -g1,165:2708808,36444618 -(1,168:2708808,36444618:6649262,665187,285084 -r1,165:2708808,36444618:0,950271,285084 -[1,168:2708808,36444618:6550958,665187,285084 -(1,168:2708808,36444618:6550958,665187,285084 -h1,167:2708808,36444618:0,0,0 -r1,167:2708808,36444618:0,950271,285084 -g1,167:2708808,36444618 -(1,167:2708808,36543290:0,0,0 -) -(1,167:2708808,36444618:723599,624927,98672 -(1,167:2708808,36543290:723599,723599,0 -[1,167:2708808,36543290:723599,723599,0 -(1,167:2708808,35819691:723599,0,0 -h1,167:2708808,35819691:0,0,0 -k1,167:3432407,35819691:723599 -g1,167:3432407,35819691 -) -] -) -) -(1,167:3432407,35819691:0,0,0 -) -g1,167:3689087,36444618 -x1,167:5229167,36444618 -r1,168:5229167,36444618:0,285084,285084 -k1,168:7244467,36444618:2015300 -k1,168:9259766,36444618:2015299 -) -] -g1,168:9259766,36444618 -g1,168:9358070,36444618 -) -g1,168:9358070,36444618 -(1,169:9358070,36444618:6649262,665187,285084 -g1,168:9456374,36444618 -[1,169:9456374,36444618:6550958,665187,285084 -(1,169:9456374,36444618:6550958,665187,285084 -h1,168:9456374,36444618:0,0,0 -r1,168:9456374,36444618:0,950271,285084 -g1,168:9456374,36444618 -(1,168:9456374,36543290:0,0,0 -) -(1,168:9456374,36444618:723599,624927,98672 -(1,168:9456374,36543290:723599,723599,0 -[1,168:9456374,36543290:723599,723599,0 -(1,168:9456374,35819691:723599,0,0 -h1,168:9456374,35819691:0,0,0 -k1,168:10179973,35819691:723599 -g1,168:10179973,35819691 -) -] -) -) -(1,168:10179973,35819691:0,0,0 -) -g1,168:10436653,36444618 -x1,168:11976733,36444618 -r1,169:11976733,36444618:0,285084,285084 -k1,169:13992033,36444618:2015300 -k1,169:16007332,36444618:2015299 -) -] -g1,169:16007332,36444618 -) -g1,169:16007332,36444618 -) -(1,171:2708808,37788105:13298524,665187,285084 -g1,169:2708808,37788105 -(1,170:2708808,37788105:6649262,665187,285084 -r1,169:2708808,37788105:0,950271,285084 -[1,170:2708808,37788105:6550958,665187,285084 -(1,170:2708808,37788105:6550958,665187,285084 -h1,169:2708808,37788105:0,0,0 -r1,169:2708808,37788105:0,950271,285084 -g1,169:2708808,37788105 -(1,169:2708808,37886777:0,0,0 -) -(1,169:2708808,37788105:723599,624927,98672 -(1,169:2708808,37886777:723599,723599,0 -[1,169:2708808,37886777:723599,723599,0 -(1,169:2708808,37163178:723599,0,0 -h1,169:2708808,37163178:0,0,0 -k1,169:3432407,37163178:723599 -g1,169:3432407,37163178 -) -] -) -) -(1,169:3432407,37163178:0,0,0 -) -g1,169:3689087,37788105 -x1,169:5229167,37788105 -r1,170:5229167,37788105:0,285084,285084 -k1,170:7244467,37788105:2015300 -k1,170:9259766,37788105:2015299 -) -] -g1,170:9259766,37788105 -g1,170:9358070,37788105 -) -g1,170:9358070,37788105 -(1,171:9358070,37788105:6649262,665187,285084 -g1,170:9456374,37788105 -[1,171:9456374,37788105:6550958,665187,285084 -(1,171:9456374,37788105:6550958,665187,285084 -h1,170:9456374,37788105:0,0,0 -r1,170:9456374,37788105:0,950271,285084 -g1,170:9456374,37788105 -(1,170:9456374,37886777:0,0,0 -) -(1,170:9456374,37788105:723599,624927,98672 -(1,170:9456374,37886777:723599,723599,0 -[1,170:9456374,37886777:723599,723599,0 -(1,170:9456374,37163178:723599,0,0 -h1,170:9456374,37163178:0,0,0 -k1,170:10179973,37163178:723599 -g1,170:10179973,37163178 -) -] -) -) -(1,170:10179973,37163178:0,0,0 -) -g1,170:10436653,37788105 -x1,170:11976733,37788105 -r1,171:11976733,37788105:0,285084,285084 -k1,171:13992033,37788105:2015300 -k1,171:16007332,37788105:2015299 -) -] -g1,171:16007332,37788105 -) -g1,171:16007332,37788105 -) -] -$1,171:16007332,37122918 -) -g1,171:16007332,37122918 -g1,171:16007332,37122918 -) -(1,175:2708808,38073190:13298524,0,285084 -r1,175:2708808,38073190:0,285084,285084 -k1,175:9358070,38073190:6649262 -k1,175:16007332,38073190:6649262 -) -] -g1,175:16007332,34567015 -g1,175:16747336,34567015 -) -g1,175:16747336,34567015 -(1,188:16747336,34567015:-51497472,665187,6969756 -g1,176:17487340,34567015 -[1,188:17487340,34567015:13298524,665187,6969756 -(1,177:17487340,34567015:13298524,665187,285084 -h1,176:17487340,34567015:0,0,0 -r1,176:17487340,34567015:0,950271,285084 -g1,176:17487340,34567015 -(1,176:17487340,34567015:0,589824,196608 -k1,176:16203940,34567015:-1283400 -x1,176:16503400,34567015 -g1,176:16503400,34567015 -x1,176:16931200,34567015 -g1,176:16931200,34567015 -x1,176:17230660,34567015 -g1,176:17487340,34567015 -) -x1,176:17786800,34567015 -$1,176:17786800,34567015 -x1,176:18171820,34567015 -g1,176:18302890,34567015 -(1,176:18302890,34567015:1030998,483719,152916 -(1,176:18302890,34567015:1030998,483719,152916 -x1,176:19333888,34567015 -) -) -$1,176:19333888,34567015 -x1,176:19633348,34567015 -g1,176:19890028,34567015 -x1,176:20595625,34567015 -g1,176:20852305,34567015 -x1,176:22520725,34567015 -g1,176:22777405,34567015 -x1,176:23183815,34567015 -x1,176:24189145,34567015 -g1,176:24445825,34567015 -x1,176:25515325,34567015 -g1,176:25772005,34567015 -x1,176:27996565,34567015 -x1,176:29134513,34567015 -g1,176:29391193,34567015 -x1,176:30507751,34567015 -k1,176:30785864,34567015:278113 -) -(1,177:17487340,35517287:13298524,546132,0 -x1,177:18556840,35517287 -g1,176:18813520,35517287 -x1,176:19198540,35517287 -x1,176:20717230,35517287 -g1,176:20973910,35517287 -x1,176:22749280,35517287 -k1,177:26767572,35517287:4018292 -k1,177:30785864,35517287:4018292 -) -(1,180:18467619,36664167:12318245,665187,285084 -(1,179:18467619,36664167:0,665187,285084 -g1,179:18467619,36664167 -g1,179:17487340,36664167 -g1,179:17487340,36664167 -(1,179:17487340,36664167:980279,665187,285084 -g1,179:17487340,36664167 -r1,179:17487340,36664167:0,950271,285084 -(1,179:17487340,36762839:0,0,0 -) -(1,179:17487340,36664167:723599,624927,98672 -(1,179:17487340,36762839:723599,723599,0 -[1,179:17487340,36762839:723599,723599,0 -(1,179:17487340,36039240:723599,0,0 -h1,179:17487340,36039240:0,0,0 -k1,179:18210939,36039240:723599 -g1,179:18210939,36039240 -) -] -) -) -(1,179:18210939,36039240:0,0,0 -) -g1,179:18467619,36664167 -) -g1,179:18467619,36664167 -) -g1,179:18467619,36664167 -x1,179:20007699,36664167 -k1,180:25396782,36664167:5389083 -k1,180:30785864,36664167:5389082 -) -(1,181:18467619,37811047:12318245,665187,285084 -(1,180:18467619,37811047:0,665187,285084 -g1,180:18467619,37811047 -g1,180:17487340,37811047 -g1,180:17487340,37811047 -(1,180:17487340,37811047:980279,665187,285084 -g1,180:17487340,37811047 -r1,180:17487340,37811047:0,950271,285084 -(1,180:17487340,37909719:0,0,0 -) -(1,180:17487340,37811047:723599,624927,98672 -(1,180:17487340,37909719:723599,723599,0 -[1,180:17487340,37909719:723599,723599,0 -(1,180:17487340,37186120:723599,0,0 -h1,180:17487340,37186120:0,0,0 -k1,180:18210939,37186120:723599 -g1,180:18210939,37186120 -) -] -) -) -(1,180:18210939,37186120:0,0,0 -) -g1,180:18467619,37811047 -) -g1,180:18467619,37811047 -) -g1,180:18467619,37811047 -x1,180:20007699,37811047 -k1,181:25396782,37811047:5389083 -k1,181:30785864,37811047:5389082 -) -(1,182:18467619,38957927:12318245,665187,285084 -(1,181:18467619,38957927:0,665187,285084 -g1,181:18467619,38957927 -g1,181:17487340,38957927 -g1,181:17487340,38957927 -(1,181:17487340,38957927:980279,665187,285084 -g1,181:17487340,38957927 -r1,181:17487340,38957927:0,950271,285084 -(1,181:17487340,39056599:0,0,0 -) -(1,181:17487340,38957927:723599,624927,98672 -(1,181:17487340,39056599:723599,723599,0 -[1,181:17487340,39056599:723599,723599,0 -(1,181:17487340,38333000:723599,0,0 -h1,181:17487340,38333000:0,0,0 -k1,181:18210939,38333000:723599 -g1,181:18210939,38333000 -) -] -) -) -(1,181:18210939,38333000:0,0,0 -) -g1,181:18467619,38957927 -) -g1,181:18467619,38957927 -) -g1,181:18467619,38957927 -x1,181:20007699,38957927 -k1,182:25396782,38957927:5389083 -k1,182:30785864,38957927:5389082 -) -(1,184:18467619,40104807:12318245,665187,285084 -(1,182:18467619,40104807:0,665187,285084 -g1,182:18467619,40104807 -g1,182:17487340,40104807 -g1,182:17487340,40104807 -(1,182:17487340,40104807:980279,665187,285084 -g1,182:17487340,40104807 -r1,182:17487340,40104807:0,950271,285084 -(1,182:17487340,40203479:0,0,0 -) -(1,182:17487340,40104807:723599,624927,98672 -(1,182:17487340,40203479:723599,723599,0 -[1,182:17487340,40203479:723599,723599,0 -(1,182:17487340,39479880:723599,0,0 -h1,182:17487340,39479880:0,0,0 -k1,182:18210939,39479880:723599 -g1,182:18210939,39479880 -) -] -) -) -(1,182:18210939,39479880:0,0,0 -) -g1,182:18467619,40104807 -) -g1,182:18467619,40104807 -) -g1,182:18467619,40104807 -x1,182:20007699,40104807 -k1,184:25396782,40104807:5389083 -k1,184:30785864,40104807:5389082 -) -(1,188:17487340,41251687:13298524,0,285084 -r1,188:17487340,41251687:0,285084,285084 -k1,188:24136602,41251687:6649262 -k1,188:30785864,41251687:6649262 -) -] -g1,188:30785864,34567015 -g1,188:-34750136,34567015 -) -g1,188:-34750136,34567015 -) -] -$1,188:2708808,34567015 -) -k1,188:30785864,34567015:28077056 -g1,188:30785864,34567015 -) -] -(1,192:0,42626580:30785864,0,0 -(1,192:0,42626580:30785864,0,0 -(1,192:0,42626580:0,0,0 -r1,192:0,42626580:0,0,0 -g1,192:30785864,42626580 -g1,192:30785864,42626580 -r1,192:30785864,42626580:0,0,0 -g1,192:31506760,42626580 -g1,192:31506760,42626580 -(1,192:31506760,42626580:2293760,0,0 -(1,192:31506760,43971707:2293760,1345127,951910 -$1,192:31506760,43971707 -[1,192:31506760,43971707:2293760,1345127,951910 -(1,192:31506760,43971707:2293760,1345127,951910 -h1,192:31506760,43971707:0,0,0 -(1,192:31506760,43971707:2293760,1345127,951910 -$1,192:31506760,43971707 -[1,192:31506760,43971707:2293760,1345127,951910 -(1,192:31506760,43635834:2293760,983040,285084 -g1,192:31506760,43635834 -(1,192:31506760,43635834:2293760,983040,285084 -r1,192:31506760,43635834:0,950271,285084 -r1,192:31532974,43635834:26214,1268124,285084 -g1,192:31532974,43635834 -k1,192:32653640,43635834:1120666 -r1,192:32653640,43635834:0,1268124,285084 -k1,192:33774306,43635834:1120666 -g1,192:33774306,43635834 -r1,192:33800520,43635834:26214,1268124,285084 -) -g1,192:33800520,43635834 -) -(1,192:31506760,44612319:2293760,665187,285084 -g1,192:31506760,44612319 -(1,192:31506760,44612319:2293760,665187,285084 -r1,192:31506760,44612319:0,950271,285084 -r1,192:31532974,44612319:26214,950271,285084 -g1,192:31532974,44612319 -g1,192:31532974,44612319 -(1,192:31532974,44612319:2241332,462465,139537 -k1,192:31754623,44612319:221649 -$1,192:31754623,44612319 -(1,192:31754623,44612319:717620,462465,0 -x1,192:32472243,44612319 -) -g1,192:32591844,44612319 -(1,192:32591844,44612319:960814,441393,139537 -(1,192:32591844,44612319:960814,441393,139537 -x1,192:33552658,44612319 -) -) -$1,192:33552658,44612319 -k1,192:33774306,44612319:221648 -) -g1,192:33774306,44612319 -g1,192:33774306,44612319 -r1,192:33800520,44612319:26214,950271,285084 -) -g1,192:33800520,44612319 -) -] -$1,192:33800520,43971707 -) -g1,192:33800520,43971707 -g1,192:33800520,43971707 -) -] -$1,192:33800520,43971707 -) -) -k1,192:0,42626580:-33800520 -) -g1,192:0,42626580 -k1,192:15392932,42626580:15392932 -k1,192:30785864,42626580:15392932 -) -) -] -] -] -!45099 -}2 -Input:65:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel1.cut -Input:66:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel1.cut -Input:67:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel2.cut -Input:68:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel2.cut -Input:69:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel3.cut -Input:70:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\panel3.cut -!544 -{3 -[1,357:0,42626580:30785864,42626580,0 -[1,357:0,0:0,0,0 -(1,357:0,-2433924:0,0,0 -k1,357:0,-2433924:65781 -) -] -[1,357:0,42626580:30785864,42626580,0 -[1,357:0,42626580:30785864,44994723,0 -[1,357:0,-1581711:30785864,786432,0 -(1,357:0,-1581711:30785864,589824,196608 -(1,357:0,-1581711:30785864,589824,196608 -r1,357:0,-1581711:0,786432,196608 -g1,357:0,-1581711 -g1,357:0,-1581711 -(1,357:0,-1581711:30785864,589824,196608 -g1,357:0,-1581711 -x1,357:2267340,-1581711 -k1,357:8668980,-1581711:6401640 -x1,357:9054000,-1581711 -g1,357:9310680,-1581711 -x1,357:9834599,-1581711 -x1,357:10925489,-1581711 -g1,357:11182169,-1581711 -x1,357:11567189,-1581711 -g1,357:11823869,-1581711 -x1,357:12444179,-1581711 -g1,357:12700859,-1581711 -x1,357:13085879,-1581711 -g1,357:13342559,-1581711 -x1,357:13727579,-1581711 -k1,357:20129219,-1581711:6401640 -$1,357:20129219,-1581711 -[1,357:20129219,-1581711:10656645,537395,157280 -(1,357:20129219,-1581711:10656645,537395,0 -(1,357:20129219,-1581711:10656645,537395,0 -(1,357:20129219,-1581711:10656645,537395,0 -x1,357:22289336,-1581711 -k1,357:30785864,-1581711:8496528 -) -) -) -] -$1,357:30785864,-1581711 -(1,357:30785864,-1581711:0,559146,164453 -(1,357:30785864,-1515930:0,624927,98672 -(1,357:30785864,-1515930:0,624927,98672 -k1,357:22546016,-1515930:-8239848 -(1,357:22546016,-1515930:8239848,624927,98672 -(1,357:22546016,-1417258:0,0,0 -) -(1,357:22546016,-1515930:8239848,624927,98672 -(1,357:22546016,-1417258:8239848,723599,0 -[1,357:22546016,-1417258:8239848,723599,0 -(1,357:22546016,-2140857:8239848,0,0 -h1,357:22546016,-2140857:0,0,0 -k1,357:30785864,-2140857:8239848 -g1,357:30785864,-2140857 -) -] -) -) -(1,357:30785864,-2140857:0,0,0 -) -) -) -) -) -g1,357:30785864,-1581711 -) -) -) -] -[1,357:0,41905684:30785864,42176675,0 -(1,194:1425408,515441:29360456,589824,196608 -(1,192:1425408,515441:0,0,0 -g1,192:1425408,515441 -g1,192:0,515441 -g1,192:-256680,515441 -(1,192:-256680,515441:1425408,0,0 -k1,192:1168728,515441:1425408 -) -g1,192:1425408,515441 -) -g1,193:1425408,515441 -(1,193:1425408,515441:0,589824,196608 -k1,193:-2436856,515441:-3862264 -x1,193:-2137396,515441 -$1,193:-2137396,515441 -x1,193:-1778586,515441 -(1,193:-1778586,255023:778615,322479,101945 -x1,193:-1032739,255023 -) -$1,193:-999971,515441 -x1,193:-720896,515441 -r1,193:-720896,515441:0,786432,196608 -g1,193:1425408,515441 -g1,193:1425408,515441 -) -(1,193:1425408,515441:0,506811,0 -k1,193:442368,515441:-983040 -(1,193:442368,515441:983040,506811,0 -x1,193:1130496,515441 -g1,193:1425408,515441 -) -) -x1,193:3200505,515441 -x1,193:3606915,515441 -g1,193:3863595,515441 -x1,193:4483905,515441 -g1,193:4740585,515441 -x1,193:5810085,515441 -g1,193:6066765,515441 -x1,193:7499895,515441 -x1,193:9061365,515441 -g1,193:9318045,515441 -x1,193:9745845,515441 -x1,193:10712673,515441 -g1,193:10969353,515441 -x1,193:13326531,515441 -x1,193:13993899,515441 -g1,193:14250579,515441 -x1,193:17313354,515441 -g1,193:17570034,515441 -x1,193:19281234,515441 -x1,193:19687644,515441 -x1,193:20436294,515441 -k1,194:30785864,515441:10349570 -g1,194:30785864,515441 -) -(1,207:2405687,1662321:28380177,665187,285084 -(1,204:2405687,1662321:0,665187,285084 -g1,204:2405687,1662321 -g1,204:1425408,1662321 -g1,204:1425408,1662321 -(1,204:1425408,1662321:980279,665187,285084 -g1,204:1425408,1662321 -r1,204:1425408,1662321:0,950271,285084 -(1,204:1425408,1760993:0,0,0 -) -(1,204:1425408,1662321:723599,624927,98672 -(1,204:1425408,1760993:723599,723599,0 -[1,204:1425408,1760993:723599,723599,0 -(1,204:1425408,1037394:723599,0,0 -h1,204:1425408,1037394:0,0,0 -k1,204:2149007,1037394:723599 -g1,204:2149007,1037394 -) -] -) -) -(1,204:2149007,1037394:0,0,0 -) -g1,204:2405687,1662321 -) -g1,204:2405687,1662321 -) -g1,204:2405687,1662321 -x1,204:3325184,1662321 -g1,204:3581864,1662321 -x1,204:4758314,1662321 -x1,204:6105884,1662321 -x1,204:6897314,1662321 -g1,204:7153994,1662321 -x1,204:8223494,1662321 -g1,204:8480174,1662321 -x1,204:11350712,1662321 -g1,204:11607392,1662321 -x1,204:13361372,1662321 -g1,204:13618052,1662321 -x1,204:14563490,1662321 -g1,204:14820170,1662321 -x1,204:16445537,1662321 -x1,204:17882945,1662321 -x1,204:18267965,1662321 -g1,204:18524645,1662321 -x1,204:19080785,1662321 -x1,204:19748153,1662321 -g1,204:20004833,1662321 -x1,204:22019771,1662321 -g1,204:22276451,1662321 -x1,204:23196221,1662321 -g1,204:23452901,1662321 -x1,204:24522401,1662321 -g1,204:24779081,1662321 -x1,204:27174761,1662321 -k1,207:30785864,1662321:3611103 -g1,207:30785864,1662321 -) -(1,210:2405687,2809201:28380177,665187,285084 -(1,207:2405687,2809201:0,665187,285084 -g1,207:2405687,2809201 -g1,207:1425408,2809201 -g1,207:1425408,2809201 -(1,207:1425408,2809201:980279,665187,285084 -g1,207:1425408,2809201 -r1,207:1425408,2809201:0,950271,285084 -(1,207:1425408,2907873:0,0,0 -) -(1,207:1425408,2809201:723599,624927,98672 -(1,207:1425408,2907873:723599,723599,0 -[1,207:1425408,2907873:723599,723599,0 -(1,207:1425408,2184274:723599,0,0 -h1,207:1425408,2184274:0,0,0 -k1,207:2149007,2184274:723599 -g1,207:2149007,2184274 -) -] -) -) -(1,207:2149007,2184274:0,0,0 -) -g1,207:2405687,2809201 -) -g1,207:2405687,2809201 -) -g1,207:2405687,2809201 -x1,207:3630197,2809201 -x1,207:4378847,2809201 -g1,207:4635527,2809201 -x1,207:6560627,2809201 -g1,207:6817307,2809201 -x1,207:7737077,2809201 -g1,207:7993757,2809201 -x1,207:9324215,2809201 -g1,207:9580895,2809201 -x1,207:11339153,2809201 -g1,207:11595833,2809201 -x1,207:12665333,2809201 -g1,207:12922013,2809201 -x1,207:16280243,2809201 -g1,207:16536923,2809201 -x1,207:19360403,2809201 -g1,207:19617083,2809201 -$1,207:19617083,2809201 -x1,207:19996643,2809201 -x1,207:21117116,2809201 -$1,207:21117116,2809201 -x1,207:21331016,2809201 -k1,210:30785864,2809201:9454848 -g1,210:30785864,2809201 -) -(1,213:2405687,3956081:28380177,665187,285084 -(1,210:2405687,3956081:0,665187,285084 -g1,210:2405687,3956081 -g1,210:1425408,3956081 -g1,210:1425408,3956081 -(1,210:1425408,3956081:980279,665187,285084 -g1,210:1425408,3956081 -r1,210:1425408,3956081:0,950271,285084 -(1,210:1425408,4054753:0,0,0 -) -(1,210:1425408,3956081:723599,624927,98672 -(1,210:1425408,4054753:723599,723599,0 -[1,210:1425408,4054753:723599,723599,0 -(1,210:1425408,3331154:723599,0,0 -h1,210:1425408,3331154:0,0,0 -k1,210:2149007,3331154:723599 -g1,210:2149007,3331154 -) -] -) -) -(1,210:2149007,3331154:0,0,0 -) -g1,210:2405687,3956081 -) -g1,210:2405687,3956081 -) -g1,210:2405687,3956081 -x1,210:3325184,3956081 -g1,210:3581864,3956081 -x1,210:6020324,3956081 -g1,210:6277004,3956081 -x1,210:7346504,3956081 -g1,210:7603184,3956081 -x1,210:8416004,3956081 -x1,210:9464114,3956081 -x1,210:11008472,3956081 -x1,210:11799902,3956081 -g1,210:12056582,3956081 -x1,210:13532492,3956081 -x1,210:13853342,3956081 -x1,210:14238362,3956081 -g1,210:14495042,3956081 -x1,210:15735662,3956081 -g1,210:15992342,3956081 -x1,210:17322800,3956081 -g1,210:17579480,3956081 -x1,210:19081058,3956081 -g1,210:19337738,3956081 -x1,210:20407238,3956081 -g1,210:20663918,3956081 -x1,210:22760138,3956081 -x1,210:23209328,3956081 -g1,210:23466008,3956081 -x1,210:24086318,3956081 -g1,210:24342998,3956081 -x1,210:25887356,3956081 -g1,210:26144036,3956081 -x1,210:28826342,3956081 -k1,213:30785864,3956081:1959522 -g1,213:30785864,3956081 -) -(1,216:2405687,5102961:28380177,665187,285084 -(1,213:2405687,5102961:0,665187,285084 -g1,213:2405687,5102961 -g1,213:1425408,5102961 -g1,213:1425408,5102961 -(1,213:1425408,5102961:980279,665187,285084 -g1,213:1425408,5102961 -r1,213:1425408,5102961:0,950271,285084 -(1,213:1425408,5201633:0,0,0 -) -(1,213:1425408,5102961:723599,624927,98672 -(1,213:1425408,5201633:723599,723599,0 -[1,213:1425408,5201633:723599,723599,0 -(1,213:1425408,4478034:723599,0,0 -h1,213:1425408,4478034:0,0,0 -k1,213:2149007,4478034:723599 -g1,213:2149007,4478034 -) -] -) -) -(1,213:2149007,4478034:0,0,0 -) -g1,213:2405687,5102961 -) -g1,213:2405687,5102961 -) -g1,213:2405687,5102961 -x1,213:3325184,5102961 -g1,213:3581864,5102961 -x1,213:4912322,5102961 -g1,213:5169002,5102961 -x1,213:6730472,5102961 -x1,213:8805302,5102961 -g1,213:9061982,5102961 -x1,213:9447002,5102961 -g1,213:9703682,5102961 -x1,213:11975300,5102961 -g1,213:12231980,5102961 -x1,213:13002020,5102961 -x1,213:15397700,5102961 -g1,213:15654380,5102961 -x1,213:16274690,5102961 -g1,213:16531370,5102961 -x1,213:17600870,5102961 -g1,213:17857550,5102961 -x1,213:19440410,5102961 -g1,213:19697090,5102961 -x1,213:20937710,5102961 -g1,213:21194390,5102961 -x1,213:22349450,5102961 -x1,213:23269220,5102961 -x1,213:24188990,5102961 -x1,213:24574010,5102961 -g1,213:24830690,5102961 -x1,213:25451000,5102961 -g1,213:25707680,5102961 -x1,213:26092700,5102961 -g1,213:26349380,5102961 -x1,213:29322590,5102961 -k1,216:30785864,5102961:1463274 -g1,216:30785864,5102961 -) -(1,219:2405687,6249841:28380177,665187,285084 -(1,216:2405687,6249841:0,665187,285084 -g1,216:2405687,6249841 -g1,216:1425408,6249841 -g1,216:1425408,6249841 -(1,216:1425408,6249841:980279,665187,285084 -g1,216:1425408,6249841 -r1,216:1425408,6249841:0,950271,285084 -(1,216:1425408,6348513:0,0,0 -) -(1,216:1425408,6249841:723599,624927,98672 -(1,216:1425408,6348513:723599,723599,0 -[1,216:1425408,6348513:723599,723599,0 -(1,216:1425408,5624914:723599,0,0 -h1,216:1425408,5624914:0,0,0 -k1,216:2149007,5624914:723599 -g1,216:2149007,5624914 -) -] -) -) -(1,216:2149007,5624914:0,0,0 -) -g1,216:2405687,6249841 -) -g1,216:2405687,6249841 -) -k1,216:2405687,6249841:0 -x1,216:3394907,6249841 -x1,216:3779927,6249841 -x1,216:4100777,6249841 -k1,216:4442927,6249841:342150 -x1,216:4827947,6249841 -k1,216:5170098,6249841:342151 -x1,216:7869516,6249841 -k1,216:8211666,6249841:342150 -x1,216:8981706,6249841 -x1,216:11377386,6249841 -k1,216:11719536,6249841:342150 -x1,216:12339846,6249841 -k1,216:12681996,6249841:342150 -x1,216:13751496,6249841 -k1,216:14093647,6249841:342151 -x1,216:14863687,6249841 -x1,216:16574887,6249841 -k1,216:16917037,6249841:342150 -x1,216:17558737,6249841 -x1,216:19462447,6249841 -x1,216:20232487,6249841 -x1,216:21045307,6249841 -k1,216:21387457,6249841:342150 -x1,216:22029157,6249841 -x1,216:23932867,6249841 -k1,216:24275017,6249841:342150 -x1,216:25686757,6249841 -k1,216:26028908,6249841:342151 -x1,216:26841728,6249841 -x1,216:27376478,6249841 -k1,216:27718628,6249841:342150 -x1,216:28146428,6249841 -x1,216:29498276,6249841 -k1,216:29840426,6249841:342150 -x1,216:30785864,6249841 -k1,216:30785864,6249841:0 -) -(1,219:2405687,7200113:28380177,338603,0 -x1,219:4416347,7200113 -k1,219:30785863,7200113:26369516 -g1,219:30785863,7200113 -) -(1,222:2405687,8346993:28380177,665187,285084 -(1,219:2405687,8346993:0,665187,285084 -g1,219:2405687,8346993 -g1,219:1425408,8346993 -g1,219:1425408,8346993 -(1,219:1425408,8346993:980279,665187,285084 -g1,219:1425408,8346993 -r1,219:1425408,8346993:0,950271,285084 -(1,219:1425408,8445665:0,0,0 -) -(1,219:1425408,8346993:723599,624927,98672 -(1,219:1425408,8445665:723599,723599,0 -[1,219:1425408,8445665:723599,723599,0 -(1,219:1425408,7722066:723599,0,0 -h1,219:1425408,7722066:0,0,0 -k1,219:2149007,7722066:723599 -g1,219:2149007,7722066 -) -] -) -) -(1,219:2149007,7722066:0,0,0 -) -g1,219:2405687,8346993 -) -g1,219:2405687,8346993 -) -g1,219:2405687,8346993 -x1,219:3500582,8346993 -g1,219:3757262,8346993 -x1,219:6580742,8346993 -g1,219:6837422,8346993 -x1,219:7757192,8346993 -g1,219:8013872,8346993 -x1,219:9083372,8346993 -g1,219:9340052,8346993 -x1,219:11029862,8346993 -x1,219:12291872,8346993 -x1,219:12612722,8346993 -g1,219:12869402,8346993 -x1,219:14110022,8346993 -g1,219:14366702,8346993 -x1,219:15436202,8346993 -g1,219:15692882,8346993 -x1,219:16334582,8346993 -x1,219:18238292,8346993 -g1,219:18494972,8346993 -x1,219:19012610,8346993 -g1,219:19269290,8346993 -x1,219:20770868,8346993 -g1,219:21027548,8346993 -x1,219:21776198,8346993 -x1,219:22524848,8346993 -g1,219:22781528,8346993 -x1,219:23466008,8346993 -g1,219:23722688,8346993 -x1,219:24967586,8346993 -g1,219:25224266,8346993 -x1,219:26037086,8346993 -x1,219:26422106,8346993 -x1,219:26571836,8346993 -k1,222:30785864,8346993:4214028 -g1,222:30785864,8346993 -) -(1,234:1425408,9887089:29360456,589824,196608 -(1,232:1425408,9887089:0,0,0 -g1,232:1425408,9887089 -g1,232:0,9887089 -g1,232:-256680,9887089 -(1,232:-256680,9887089:1425408,0,0 -k1,232:1168728,9887089:1425408 -) -g1,232:1425408,9887089 -) -g1,233:1425408,9887089 -(1,233:1425408,9887089:0,589824,196608 -k1,233:-2436856,9887089:-3862264 -x1,233:-2137396,9887089 -$1,233:-2137396,9887089 -x1,233:-1778586,9887089 -(1,233:-1778586,9626671:778615,322479,101945 -x1,233:-1032739,9626671 -) -$1,233:-999971,9887089 -x1,233:-720896,9887089 -r1,233:-720896,9887089:0,786432,196608 -g1,233:1425408,9887089 -g1,233:1425408,9887089 -) -(1,233:1425408,9887089:0,506811,0 -k1,233:442368,9887089:-983040 -(1,233:442368,9887089:983040,506811,0 -x1,233:1130496,9887089 -g1,233:1425408,9887089 -) -) -x1,233:3200505,9887089 -x1,233:3606915,9887089 -g1,233:3863595,9887089 -x1,233:4483905,9887089 -g1,233:4740585,9887089 -x1,233:5810085,9887089 -g1,233:6066765,9887089 -x1,233:7499895,9887089 -x1,233:9061365,9887089 -g1,233:9318045,9887089 -x1,233:10344765,9887089 -g1,233:10601445,9887089 -x1,233:13275195,9887089 -g1,233:13531875,9887089 -x1,233:15824883,9887089 -k1,234:30785864,9887089:14960981 -g1,234:30785864,9887089 -) -(1,242:1425408,11033969:29360456,671744,278527 -(1,242:1425408,11033969:24532581,671744,278527 -$1,242:1425408,11033969 -[1,242:1425408,11033969:24532581,671744,278527 -(1,242:1425408,11027412:24532581,665187,285084 -g1,235:1425408,11027412 -(1,238:1425408,11027412:4827873,665187,285084 -r1,235:1425408,11027412:0,950271,285084 -[1,238:1425408,11027412:4729569,665187,285084 -(1,238:1425408,11027412:4729569,665187,285084 -h1,237:1425408,11027412:0,0,0 -r1,237:1425408,11027412:0,950271,285084 -g1,237:1425408,11027412 -(1,237:1425408,11027412:723599,624927,98672 -(1,237:1425408,11126084:0,0,0 -) -(1,237:1425408,11027412:723599,624927,98672 -(1,237:1425408,11126084:723599,723599,0 -[1,237:1425408,11126084:723599,723599,0 -(1,237:1425408,10402485:723599,0,0 -h1,237:1425408,10402485:0,0,0 -k1,237:2149007,10402485:723599 -g1,237:2149007,10402485 -) -] -) -) -(1,237:2149007,10402485:0,0,0 -) -) -g1,237:2405687,11027412 -x1,237:3934936,11027412 -r1,238:3934936,11027412:0,285084,285084 -k1,238:5044957,11027412:1110021 -k1,238:6154977,11027412:1110020 -) -] -g1,238:6154977,11027412 -g1,238:6253281,11027412 -) -g1,238:6253281,11027412 -(1,239:6253281,11027412:4926177,665187,285084 -g1,238:6351585,11027412 -[1,239:6351585,11027412:4729569,665187,285084 -(1,239:6351585,11027412:4729569,665187,285084 -h1,238:6351585,11027412:0,0,0 -r1,238:6351585,11027412:0,950271,285084 -g1,238:6351585,11027412 -(1,238:6351585,11027412:723599,624927,98672 -(1,238:6351585,11126084:0,0,0 -) -(1,238:6351585,11027412:723599,624927,98672 -(1,238:6351585,11126084:723599,723599,0 -[1,238:6351585,11126084:723599,723599,0 -(1,238:6351585,10402485:723599,0,0 -h1,238:6351585,10402485:0,0,0 -k1,238:7075184,10402485:723599 -g1,238:7075184,10402485 -) -] -) -) -(1,238:7075184,10402485:0,0,0 -) -) -g1,238:7331864,11027412 -x1,238:9347804,11027412 -r1,239:9347804,11027412:0,285084,285084 -k1,239:10214479,11027412:866675 -k1,239:11081154,11027412:866675 -) -] -g1,239:11081154,11027412 -g1,239:11179458,11027412 -) -g1,239:11179458,11027412 -(1,240:11179458,11027412:4926177,665187,285084 -g1,239:11277762,11027412 -[1,240:11277762,11027412:4729569,665187,285084 -(1,240:11277762,11027412:4729569,665187,285084 -h1,239:11277762,11027412:0,0,0 -r1,239:11277762,11027412:0,950271,285084 -g1,239:11277762,11027412 -(1,239:11277762,11027412:723599,624927,98672 -(1,239:11277762,11126084:0,0,0 -) -(1,239:11277762,11027412:723599,624927,98672 -(1,239:11277762,11126084:723599,723599,0 -[1,239:11277762,11126084:723599,723599,0 -(1,239:11277762,10402485:723599,0,0 -h1,239:11277762,10402485:0,0,0 -k1,239:12001361,10402485:723599 -g1,239:12001361,10402485 -) -] -) -) -(1,239:12001361,10402485:0,0,0 -) -) -g1,239:12258041,11027412 -x1,239:12835298,11027412 -x1,239:13926188,11027412 -x1,239:14460938,11027412 -r1,240:14460938,11027412:0,285084,285084 -k1,240:15234135,11027412:773197 -k1,240:16007331,11027412:773196 -) -] -g1,240:16007331,11027412 -g1,240:16105635,11027412 -) -g1,240:16105635,11027412 -(1,241:16105635,11027412:4926177,665187,285084 -g1,240:16203939,11027412 -[1,241:16203939,11027412:4729569,665187,285084 -(1,241:16203939,11027412:4729569,665187,285084 -h1,240:16203939,11027412:0,0,0 -r1,240:16203939,11027412:0,950271,285084 -g1,240:16203939,11027412 -(1,240:16203939,11027412:723599,624927,98672 -(1,240:16203939,11126084:0,0,0 -) -(1,240:16203939,11027412:723599,624927,98672 -(1,240:16203939,11126084:723599,723599,0 -[1,240:16203939,11126084:723599,723599,0 -(1,240:16203939,10402485:723599,0,0 -h1,240:16203939,10402485:0,0,0 -k1,240:16927538,10402485:723599 -g1,240:16927538,10402485 -) -] -) -) -(1,240:16927538,10402485:0,0,0 -) -) -g1,240:17184218,11027412 -x1,240:19622678,11027412 -r1,241:19622678,11027412:0,285084,285084 -k1,241:20278093,11027412:655415 -k1,241:20933508,11027412:655415 -) -] -g1,241:20933508,11027412 -g1,241:21031812,11027412 -) -g1,241:21031812,11027412 -(1,242:21031812,11027412:4926177,665187,285084 -g1,241:21130116,11027412 -[1,242:21130116,11027412:4729569,665187,285084 -(1,242:21130116,11027412:4729569,665187,285084 -h1,241:21130116,11027412:0,0,0 -r1,241:21130116,11027412:0,950271,285084 -g1,241:21130116,11027412 -(1,241:21130116,11027412:723599,624927,98672 -(1,241:21130116,11126084:0,0,0 -) -(1,241:21130116,11027412:723599,624927,98672 -(1,241:21130116,11126084:723599,723599,0 -[1,241:21130116,11126084:723599,723599,0 -(1,241:21130116,10402485:723599,0,0 -h1,241:21130116,10402485:0,0,0 -k1,241:21853715,10402485:723599 -g1,241:21853715,10402485 -) -] -) -) -(1,241:21853715,10402485:0,0,0 -) -) -g1,241:22110395,11027412 -x1,241:23447134,11027412 -r1,242:23447134,11027412:0,285084,285084 -k1,242:24653410,11027412:1206276 -k1,242:25859685,11027412:1206275 -) -] -g1,242:25859685,11027412 -g1,242:25957989,11027412 -) -g1,242:25957989,11027412 -) -] -$1,242:25957989,11033969 -) -k1,242:30785864,11033969:4827875 -g1,242:30785864,11033969 -) -(1,282:1425408,12574065:29360456,589824,196608 -(1,280:1425408,12574065:0,0,0 -g1,280:1425408,12574065 -g1,280:0,12574065 -g1,280:-256680,12574065 -(1,280:-256680,12574065:1425408,0,0 -k1,280:1168728,12574065:1425408 -) -g1,280:1425408,12574065 -) -g1,281:1425408,12574065 -(1,281:1425408,12574065:0,589824,196608 -k1,281:-2436856,12574065:-3862264 -x1,281:-2137396,12574065 -$1,281:-2137396,12574065 -x1,281:-1778586,12574065 -(1,281:-1778586,12313647:778615,322479,101945 -x1,281:-1032739,12313647 -) -$1,281:-999971,12574065 -x1,281:-720896,12574065 -r1,281:-720896,12574065:0,786432,196608 -g1,281:1425408,12574065 -g1,281:1425408,12574065 -) -(1,281:1425408,12574065:0,506811,0 -k1,281:442368,12574065:-983040 -(1,281:442368,12574065:983040,506811,0 -x1,281:1130496,12574065 -g1,281:1425408,12574065 -) -) -x1,281:2926986,12574065 -g1,281:3183666,12574065 -x1,281:3701304,12574065 -g1,281:3957984,12574065 -x1,281:4343004,12574065 -g1,281:4599684,12574065 -x1,281:7406052,12574065 -g1,281:7662732,12574065 -x1,281:8218872,12574065 -x1,281:9609222,12574065 -g1,281:9865902,12574065 -$1,281:9865902,12574065 -x1,281:10250922,12574065 -$1,281:10250922,12574065 -g1,281:10507602,12574065 -x1,281:10935402,12574065 -x1,281:11983512,12574065 -x1,281:12779220,12574065 -k1,282:30785864,12574065:18006644 -g1,282:30785864,12574065 -) -(1,293:1425408,15400960:29360456,2564751,2171535 -$1,292:1425408,15400960 -[1,292:1425408,15400960:29360456,2564751,2171535 -(1,292:1425408,17572495:29360456,4736286,0 -h1,287:1425408,17572495:0,0,0 -[1,292:1425408,17572495:24723513,4736286,0 -(1,292:1425408,15467479:24723513,2631270,2105016 -(1,287:1425408,15467479:24723513,2631270,2105016 -(1,287:1425408,17572495:0,0,0 -) -(1,287:1425408,15467479:24723513,2631270,2105016 -(1,287:1425408,17572495:24723513,4736286,0 -[1,287:1425408,17572495:24723513,4736286,0 -(1,287:1425408,12836209:24723513,0,0 -h1,287:1425408,12836209:0,0,0 -k1,287:26148920,12836209:24723512 -g1,287:26148920,12836209 -) -] -) -) -(1,287:26148921,12836209:0,0,0 -) -) -g1,292:26148921,15467479 -g1,292:26148921,15467479 -) -] -k1,292:30785864,17572495:4636943 -g1,292:30785864,17572495 -) -] -$1,292:30785864,15400960 -g1,293:30785864,15400960 -g1,293:30785864,15400960 -) -(1,293:1425408,17352946:29360456,665187,285084 -r1,293:1425408,17352946:0,950271,285084 -(1,293:1425408,17352946:29360456,0,0 -(1,293:1425408,17352946:29360456,4736286,0 -[1,293:1425408,17352946:29360456,4736286,0 -(1,293:1425408,17444233:29360456,4630965,0 -h1,293:1425408,17444233:0,0,0 -k1,293:26345528,17444233:24920120 -(66,2:26345528,17444233:4183655,4630965,0 -(66,2:26345528,17444233:4183655,4630965,0 -) -) -g66,2:30785863,17444233 -g1,293:30785863,17444233 -g1,293:30785863,17444233 -) -] -) -) -g1,293:30785864,17352946 -) -(1,293:1425408,18303218:29360456,665187,285084 -r1,293:1425408,18303218:0,950271,285084 -k1,293:30785864,18303218:29360456 -g1,293:30785864,18303218 -) -(1,301:1425408,19646706:29360456,589824,196608 -(1,299:1425408,19646706:0,0,0 -g1,299:1425408,19646706 -g1,299:0,19646706 -g1,299:-256680,19646706 -(1,299:-256680,19646706:1425408,0,0 -k1,299:1168728,19646706:1425408 -) -g1,299:1425408,19646706 -) -g1,300:1425408,19646706 -(1,300:1425408,19646706:0,589824,196608 -k1,300:-2436856,19646706:-3862264 -x1,300:-2137396,19646706 -$1,300:-2137396,19646706 -x1,300:-1778586,19646706 -(1,300:-1778586,19386288:778615,322479,101945 -x1,300:-1032739,19386288 -) -$1,300:-999971,19646706 -x1,300:-720896,19646706 -r1,300:-720896,19646706:0,786432,196608 -g1,300:1425408,19646706 -g1,300:1425408,19646706 -) -(1,300:1425408,19646706:0,506811,0 -k1,300:442368,19646706:-983040 -(1,300:442368,19646706:983040,506811,0 -x1,300:1130496,19646706 -g1,300:1425408,19646706 -) -) -x1,300:2926986,19646706 -g1,300:3183666,19646706 -x1,300:3701304,19646706 -g1,300:3957984,19646706 -x1,300:4343004,19646706 -g1,300:4599684,19646706 -x1,300:7406052,19646706 -g1,300:7662732,19646706 -x1,300:8218872,19646706 -x1,300:9609222,19646706 -g1,300:9865902,19646706 -$1,300:9865902,19646706 -x1,300:10250922,19646706 -$1,300:10250922,19646706 -g1,300:10507602,19646706 -x1,300:10935402,19646706 -x1,300:11983512,19646706 -x1,300:12779220,19646706 -k1,301:30785864,19646706:18006644 -g1,301:30785864,19646706 -) -(1,312:1425408,23065637:29360456,3156787,2763571 -$1,311:1425408,23065637 -[1,311:1425408,23065637:29360456,3156787,2763571 -(1,311:1425408,25829208:29360456,5920358,0 -h1,307:1425408,25829208:0,0,0 -[1,311:1425408,25829208:24723513,5920358,0 -(1,311:1425408,23132156:24723513,3223306,2697052 -(1,307:1425408,23132156:24723513,3223306,2697052 -(1,307:1425408,25829208:0,0,0 -) -(1,307:1425408,23132156:24723513,3223306,2697052 -(1,307:1425408,25829208:24723513,5920358,0 -[1,307:1425408,25829208:24723513,5920358,0 -(1,307:1425408,19908850:24723513,0,0 -h1,307:1425408,19908850:0,0,0 -k1,307:26148920,19908850:24723512 -g1,307:26148920,19908850 -) -] -) -) -(1,307:26148921,19908850:0,0,0 -) -) -g1,311:26148921,23132156 -g1,311:26148921,23132156 -) -] -k1,311:30785864,25829208:4636943 -g1,311:30785864,25829208 -) -] -$1,311:30785864,23065637 -g1,312:30785864,23065637 -g1,312:30785864,23065637 -) -(1,312:1425408,25609659:29360456,665187,285084 -r1,312:1425408,25609659:0,950271,285084 -(1,312:1425408,25609659:29360456,0,0 -(1,312:1425408,25609659:29360456,5920358,0 -[1,312:1425408,25609659:29360456,5920358,0 -(1,312:1425408,24516874:29360456,4630965,0 -h1,312:1425408,24516874:0,0,0 -k1,312:26345528,24516874:24920120 -(68,2:26345528,24516874:4183655,4630965,0 -(68,2:26345528,24516874:4183655,4630965,0 -) -) -g68,2:30785863,24516874 -g1,312:30785863,24516874 -g1,312:30785863,24516874 -) -] -) -) -g1,312:30785864,25609659 -) -(1,312:1425408,26559931:29360456,665187,285084 -r1,312:1425408,26559931:0,950271,285084 -k1,312:30785864,26559931:29360456 -g1,312:30785864,26559931 -) -(1,320:1425408,27975370:29360456,671603,196608 -(1,319:1425408,27975370:0,0,0 -g1,319:1425408,27975370 -g1,319:0,27975370 -g1,319:-256680,27975370 -(1,319:-256680,27975370:1425408,0,0 -k1,319:1168728,27975370:1425408 -) -g1,319:1425408,27975370 -) -g1,319:1425408,27975370 -(1,319:1425408,27975370:0,671603,196608 -k1,319:-2795666,27975370:-4221074 -x1,319:-2496206,27975370 -$1,319:-2496206,27975370 -(1,319:-2496206,27975370:717620,462465,0 -x1,319:-1778586,27975370 -) -[1,319:-1778586,28068742:778615,764975,0 -(1,319:-1778586,27626246:778615,322479,101945 -x1,319:-1032739,27626246 -) -(1,319:-1778586,28068742:713624,225735,0 -x1,319:-1097730,28068742 -) -] -$1,319:-999971,27975370 -x1,319:-720896,27975370 -r1,319:-720896,27975370:0,868211,196608 -g1,319:1425408,27975370 -g1,319:1425408,27975370 -) -(1,319:1425408,27975370:0,506811,0 -k1,319:0,27975370:-1425408 -(1,319:0,27975370:1425408,506811,0 -x1,319:1130496,27975370 -g1,319:1425408,27975370 -) -) -x1,319:3290343,27975370 -x1,319:3910653,27975370 -g1,319:4167333,27975370 -x1,319:5236833,27975370 -x1,319:5643243,27975370 -g1,319:5899923,27975370 -x1,319:6520233,27975370 -g1,319:6776913,27975370 -x1,319:7846413,27975370 -g1,319:8103093,27975370 -x1,319:9536223,27975370 -x1,319:11097693,27975370 -g1,319:11354373,27975370 -x1,319:14678379,27975370 -k1,320:30785864,27975370:16107485 -g1,320:30785864,27975370 -) -(1,322:2708808,29122250:28077056,589824,196608 -(1,321:2708808,29122250:0,589824,196608 -g1,321:2708808,29122250 -g1,321:1682088,29122250 -g1,321:1425408,29122250 -(1,321:1425408,29122250:1026720,589824,196608 -g1,321:1425408,29122250 -(1,321:1425408,29122250:1026720,589824,196608 -k1,321:1439668,29122250:14260 -x1,321:1739128,29122250 -k1,321:1753388,29122250:14260 -x1,321:2138408,29122250 -k1,321:2152668,29122250:14260 -x1,321:2452128,29122250 -) -) -g1,321:2708808,29122250 -) -x1,321:4210386,29122250 -g1,321:4467066,29122250 -x1,321:4984704,29122250 -g1,321:5241384,29122250 -x1,321:5626404,29122250 -g1,321:5883084,29122250 -x1,321:8903352,29122250 -k1,322:30785864,29122250:21882512 -g1,322:30785864,29122250 -) -(1,337:2708808,31896485:28077056,2512091,2118874 -$1,336:2708808,31896485 -[1,336:2708808,31896485:28077056,2512091,2118874 -(1,336:2708808,34015359:28077056,4630965,0 -h1,332:2708808,34015359:0,0,0 -[1,336:2708808,34015359:23440113,4630965,0 -(1,336:2708808,31963004:23440113,2578610,2052355 -(1,332:2708808,31963004:23440113,2578610,2052355 -(1,332:2708808,34015359:0,0,0 -) -(1,332:2708808,31963004:23440113,2578610,2052355 -(1,332:2708808,34015359:23440113,4630965,0 -[1,332:2708808,34015359:23440113,4630965,0 -(1,332:2708808,29384394:23440113,0,0 -h1,332:2708808,29384394:0,0,0 -k1,332:26148920,29384394:23440112 -g1,332:26148920,29384394 -) -] -) -) -(1,332:26148921,29384394:0,0,0 -) -) -g1,336:26148921,31963004 -g1,336:26148921,31963004 -) -] -k1,336:30785864,34015359:4636943 -g1,336:30785864,34015359 -) -] -$1,336:30785864,31896485 -g1,337:30785864,31896485 -g1,337:30785864,31896485 -) -(1,337:2708808,33795810:28077056,665187,285084 -r1,337:2708808,33795810:0,950271,285084 -(1,337:2708808,33795810:28077056,0,0 -(1,337:2708808,33795810:28077056,4630965,0 -[1,337:2708808,33795810:28077056,4630965,0 -(1,337:2708808,33992418:28077056,4630965,0 -h1,337:2708808,33992418:0,0,0 -k1,337:26345528,33992418:23636720 -(70,2:26345528,33992418:4183655,4630965,0 -(70,2:26345528,33992418:4183655,4630965,0 -) -) -g70,2:30785863,33992418 -g1,337:30785863,33992418 -g1,337:30785863,33992418 -) -] -) -) -g1,337:30785864,33795810 -) -(1,337:2708808,34746082:28077056,665187,285084 -r1,337:2708808,34746082:0,950271,285084 -k1,337:30785864,34746082:28077056 -g1,337:30785864,34746082 -) -(1,340:2708808,35892962:28077056,589824,196608 -(1,339:2708808,35892962:0,589824,196608 -g1,339:2708808,35892962 -g1,339:1682088,35892962 -g1,339:1425408,35892962 -(1,339:1425408,35892962:1026720,589824,196608 -g1,339:1425408,35892962 -(1,339:1425408,35892962:1026720,589824,196608 -g1,339:1425408,35892962 -x1,339:1724868,35892962 -g1,339:1724868,35892962 -x1,339:2152668,35892962 -g1,339:2152668,35892962 -x1,339:2452128,35892962 -) -) -g1,339:2708808,35892962 -) -x1,339:4210386,35892962 -g1,339:4467066,35892962 -x1,339:4984704,35892962 -g1,339:5241384,35892962 -x1,339:5626404,35892962 -g1,339:5883084,35892962 -x1,339:8903352,35892962 -k1,340:30785864,35892962:21882512 -g1,340:30785864,35892962 -) -(1,345:2708808,38194341:28077056,2039235,1512980 -(1,340:2708808,38194341:28077056,2039235,1512980 -(1,340:2708808,39707321:0,0,0 -) -(1,340:2708808,38194341:28077056,2039235,1512980 -(1,340:2708808,39707321:28077056,3552215,0 -[1,340:2708808,39707321:28077056,3552215,0 -(1,340:2708808,36155106:28077056,0,0 -h1,340:2708808,36155106:0,0,0 -k1,340:30785864,36155106:28077056 -g1,340:30785864,36155106 -) -] -) -) -(1,340:30785864,36155106:0,0,0 -) -) -g1,345:30785864,38194341 -g1,345:30785864,38194341 -) -] -(1,357:0,42626580:30785864,0,0 -(1,357:0,42626580:30785864,0,0 -(1,357:0,42626580:0,0,0 -r1,357:0,42626580:0,0,0 -g1,357:30785864,42626580 -g1,357:30785864,42626580 -r1,357:30785864,42626580:0,0,0 -g1,357:31506760,42626580 -g1,357:31506760,42626580 -(1,357:31506760,42626580:2293760,0,0 -(1,357:31506760,43971707:2293760,1345127,951910 -$1,357:31506760,43971707 -[1,357:31506760,43971707:2293760,1345127,951910 -(1,357:31506760,43971707:2293760,1345127,951910 -h1,357:31506760,43971707:0,0,0 -(1,357:31506760,43971707:2293760,1345127,951910 -$1,357:31506760,43971707 -[1,357:31506760,43971707:2293760,1345127,951910 -(1,357:31506760,43635834:2293760,983040,285084 -g1,357:31506760,43635834 -(1,357:31506760,43635834:2293760,983040,285084 -r1,357:31506760,43635834:0,950271,285084 -r1,357:31532974,43635834:26214,1268124,285084 -g1,357:31532974,43635834 -k1,357:32653640,43635834:1120666 -r1,357:32653640,43635834:0,1268124,285084 -k1,357:33774306,43635834:1120666 -g1,357:33774306,43635834 -r1,357:33800520,43635834:26214,1268124,285084 -) -g1,357:33800520,43635834 -) -(1,357:31506760,44612319:2293760,665187,285084 -g1,357:31506760,44612319 -(1,357:31506760,44612319:2293760,665187,285084 -r1,357:31506760,44612319:0,950271,285084 -r1,357:31532974,44612319:26214,950271,285084 -g1,357:31532974,44612319 -g1,357:31532974,44612319 -(1,357:31532974,44612319:2241332,462465,139537 -k1,357:31754623,44612319:221649 -$1,357:31754623,44612319 -(1,357:31754623,44612319:717620,462465,0 -x1,357:32472243,44612319 -) -g1,357:32591844,44612319 -(1,357:32591844,44612319:960814,441393,139537 -(1,357:32591844,44612319:960814,441393,139537 -x1,357:33552658,44612319 -) -) -$1,357:33552658,44612319 -k1,357:33774306,44612319:221648 -) -g1,357:33774306,44612319 -g1,357:33774306,44612319 -r1,357:33800520,44612319:26214,950271,285084 -) -g1,357:33800520,44612319 -) -] -$1,357:33800520,43971707 -) -g1,357:33800520,43971707 -g1,357:33800520,43971707 -) -] -$1,357:33800520,43971707 -) -) -k1,357:0,42626580:-33800520 -) -g1,357:0,42626580 -k1,357:15392932,42626580:15392932 -k1,357:30785864,42626580:15392932 -) -) -] -] -] -!29873 -}3 -!10 -{4 -[1,430:0,42626580:30785864,42626580,0 -[1,430:0,0:0,0,0 -(1,430:0,-2433924:0,0,0 -k1,430:0,-2433924:65781 -) -] -[1,430:0,42626580:30785864,42626580,0 -[1,430:0,42626580:30785864,44994723,0 -[1,430:0,-1581711:30785864,786432,0 -(1,430:0,-1581711:30785864,589824,196608 -(1,430:0,-1581711:30785864,589824,196608 -r1,430:0,-1581711:0,786432,196608 -g1,430:0,-1581711 -g1,430:0,-1581711 -(1,430:0,-1581711:30785864,589824,196608 -g1,430:0,-1581711 -x1,430:2267340,-1581711 -k1,430:8668980,-1581711:6401640 -x1,430:9054000,-1581711 -g1,430:9310680,-1581711 -x1,430:9834599,-1581711 -x1,430:10925489,-1581711 -g1,430:11182169,-1581711 -x1,430:11567189,-1581711 -g1,430:11823869,-1581711 -x1,430:12444179,-1581711 -g1,430:12700859,-1581711 -x1,430:13085879,-1581711 -g1,430:13342559,-1581711 -x1,430:13727579,-1581711 -k1,430:20129219,-1581711:6401640 -$1,430:20129219,-1581711 -[1,430:20129219,-1581711:10656645,537395,157280 -(1,430:20129219,-1581711:10656645,537395,0 -(1,430:20129219,-1581711:10656645,537395,0 -(1,430:20129219,-1581711:10656645,537395,0 -x1,430:22289336,-1581711 -k1,430:30785864,-1581711:8496528 -) -) -) -] -$1,430:30785864,-1581711 -(1,430:30785864,-1581711:0,559146,164453 -(1,430:30785864,-1515930:0,624927,98672 -(1,430:30785864,-1515930:0,624927,98672 -k1,430:22546016,-1515930:-8239848 -(1,430:22546016,-1515930:8239848,624927,98672 -(1,430:22546016,-1417258:0,0,0 -) -(1,430:22546016,-1515930:8239848,624927,98672 -(1,430:22546016,-1417258:8239848,723599,0 -[1,430:22546016,-1417258:8239848,723599,0 -(1,430:22546016,-2140857:8239848,0,0 -h1,430:22546016,-2140857:0,0,0 -k1,430:30785864,-2140857:8239848 -g1,430:30785864,-2140857 -) -] -) -) -(1,430:30785864,-2140857:0,0,0 -) -) -) -) -) -g1,430:30785864,-1581711 -) -) -) -] -[1,430:0,41905684:30785864,42176675,0 -(1,359:1425408,515441:29360456,589824,196608 -(1,357:1425408,515441:0,0,0 -g1,357:1425408,515441 -g1,357:0,515441 -g1,357:-256680,515441 -(1,357:-256680,515441:1425408,0,0 -k1,357:1168728,515441:1425408 -) -g1,357:1425408,515441 -) -g1,357:1425408,515441 -(1,357:1425408,515441:0,589824,196608 -k1,357:-2795666,515441:-4221074 -x1,357:-2496206,515441 -$1,357:-2496206,515441 -(1,357:-2496206,515441:717620,462465,0 -x1,357:-1778586,515441 -) -(1,357:-1778586,255023:778615,322479,101945 -x1,357:-1032739,255023 -) -$1,357:-999971,515441 -x1,357:-720896,515441 -r1,357:-720896,515441:0,786432,196608 -g1,357:1425408,515441 -g1,357:1425408,515441 -) -(1,357:1425408,515441:0,506811,0 -k1,357:0,515441:-1425408 -(1,357:0,515441:1425408,506811,0 -x1,357:1130496,515441 -g1,357:1425408,515441 -) -) -x1,357:2858538,515441 -x1,357:3179388,515441 -g1,357:3436068,515441 -x1,357:4505568,515441 -x1,357:4911978,515441 -g1,357:5168658,515441 -x1,357:5788968,515441 -g1,357:6045648,515441 -x1,357:7115148,515441 -g1,357:7371828,515441 -x1,357:8804958,515441 -x1,357:10580328,515441 -g1,357:10922568,515441 -x1,357:11713725,515441 -x1,357:12740445,515441 -g1,357:12997125,515441 -g1,357:12997125,515441 -g1,357:12740445,515441 -g1,357:12997125,515441 -g1,357:12997125,515441 -x1,357:13809945,515441 -g1,357:14066625,515441 -x1,357:15136125,515441 -g1,357:15392805,515441 -x1,357:16547865,515441 -x1,357:16932885,515441 -g1,357:17189565,515441 -x1,357:17809875,515441 -g1,357:18066555,515441 -x1,357:19606635,515441 -g1,357:19863315,515441 -x1,357:20462235,515441 -k1,359:30785864,515441:10323629 -g1,359:30785864,515441 -) -(1,384:1425408,13155585:29360456,12279696,152916 -[1,384:1425408,13155585:14352548,12279696,0 -(1,364:2708808,1662321:13069148,589824,196608 -(1,363:2708808,1662321:0,589824,196608 -g1,363:2708808,1662321 -g1,363:1682088,1662321 -g1,363:1425408,1662321 -(1,363:1425408,1662321:1026720,589824,196608 -g1,363:1425408,1662321 -(1,363:1425408,1662321:1026720,589824,196608 -k1,363:1439668,1662321:14260 -x1,363:1739128,1662321 -k1,363:1753388,1662321:14260 -x1,363:2138408,1662321 -k1,363:2152668,1662321:14260 -x1,363:2452128,1662321 -) -) -g1,363:2708808,1662321 -) -x1,363:4210386,1662321 -k1,363:4528146,1662321:317760 -x1,363:5045784,1662321 -k1,363:5363543,1662321:317759 -x1,363:5748563,1662321 -k1,363:6066323,1662321:317760 -x1,363:7546511,1662321 -x1,363:9086591,1662321 -k1,363:9612070,1662321:525479 -x1,363:10499619,1662321 -k1,363:10817379,1662321:317760 -x1,363:12190617,1662321 -k1,363:12508376,1662321:317759 -x1,363:12914786,1662321 -x1,363:13706216,1662321 -k1,363:14023976,1662321:317760 -x1,363:15777956,1662321 -k1,363:15777956,1662321:0 -) -(1,364:2708808,2612593:13069148,546132,152916 -x1,364:4141938,2612593 -x1,363:4462788,2612593 -g1,363:4719468,2612593 -x1,363:5532288,2612593 -x1,363:5917308,2612593 -g1,363:6173988,2612593 -x1,363:6815688,2612593 -x1,363:8013528,2612593 -g1,363:8270208,2612593 -x1,363:9403605,2612593 -g1,363:9660285,2612593 -x1,363:10216425,2612593 -x1,363:11221755,2612593 -x1,363:11628165,2612593 -x1,363:12868785,2612593 -k1,364:15777956,2612593:2909171 -g1,364:15777956,2612593 -) -(1,368:2708808,5462315:13069148,2631270,2105016 -(1,365:2708808,5462315:13069148,2631270,2105016 -(1,365:2708808,7567331:0,0,0 -) -(1,365:2708808,5462315:13069148,2631270,2105016 -(1,365:2708808,7567331:13069148,4736286,0 -[1,365:2708808,7567331:13069148,4736286,0 -(1,365:2708808,2831045:13069148,0,0 -h1,365:2708808,2831045:0,0,0 -k1,365:15777956,2831045:13069148 -g1,365:15777956,2831045 -) -] -) -) -(1,365:15777956,2831045:0,0,0 -) -) -g1,368:15777956,5462315 -g1,368:15777956,5462315 -) -(1,370:2708808,8419299:13069148,589824,196608 -(1,369:2708808,8419299:0,589824,196608 -g1,369:2708808,8419299 -g1,369:1682088,8419299 -g1,369:1425408,8419299 -(1,369:1425408,8419299:1026720,589824,196608 -g1,369:1425408,8419299 -(1,369:1425408,8419299:1026720,589824,196608 -g1,369:1425408,8419299 -x1,369:1724868,8419299 -g1,369:1724868,8419299 -x1,369:2152668,8419299 -g1,369:2152668,8419299 -x1,369:2452128,8419299 -) -) -g1,369:2708808,8419299 -) -x1,369:4210386,8419299 -g1,369:4467066,8419299 -x1,369:4984704,8419299 -g1,369:5241384,8419299 -x1,369:5626404,8419299 -g1,369:5883084,8419299 -x1,369:7363272,8419299 -x1,369:8903352,8419299 -k1,370:15777956,8419299:6874604 -g1,370:15777956,8419299 -) -(1,373:2708808,11312713:13069148,2631270,2105016 -(1,370:2708808,11312713:13069148,2631270,2105016 -(1,370:2708808,13417729:0,0,0 -) -(1,370:2708808,11312713:13069148,2631270,2105016 -(1,370:2708808,13417729:13069148,4736286,0 -[1,370:2708808,13417729:13069148,4736286,0 -(1,370:2708808,8681443:13069148,0,0 -h1,370:2708808,8681443:0,0,0 -k1,370:15777956,8681443:13069148 -g1,370:15777956,8681443 -) -] -) -) -(1,370:15777956,8681443:0,0,0 -) -) -g1,373:15777956,11312713 -g1,373:15777956,11312713 -) -] -k1,384:16092529,13155585:314573 -r1,384:16118743,13155585:26214,12432612,152916 -k1,384:16433316,13155585:314573 -[1,384:16433316,13155585:14352548,12279696,0 -(1,375:17716716,1662321:13069148,589824,196608 -(1,374:17716716,1662321:0,589824,196608 -g1,374:17716716,1662321 -g1,374:16689996,1662321 -g1,374:16433316,1662321 -(1,374:16433316,1662321:1026720,589824,196608 -g1,374:16433316,1662321 -(1,374:16433316,1662321:1026720,589824,196608 -k1,374:16461836,1662321:28520 -x1,374:16761296,1662321 -k1,374:16789816,1662321:28520 -x1,374:17132056,1662321 -k1,374:17160576,1662321:28520 -x1,374:17460036,1662321 -) -) -g1,374:17716716,1662321 -) -x1,374:19218294,1662321 -g1,374:19474974,1662321 -x1,374:19992612,1662321 -g1,374:20249292,1662321 -x1,374:20634312,1662321 -g1,374:20890992,1662321 -x1,374:22371180,1662321 -x1,374:23911260,1662321 -k1,375:30785864,1662321:6874604 -g1,375:30785864,1662321 -) -(1,378:17716716,4555735:13069148,2631270,2105016 -(1,375:17716716,4555735:13069148,2631270,2105016 -(1,375:17716716,6660751:0,0,0 -) -(1,375:17716716,4555735:13069148,2631270,2105016 -(1,375:17716716,6660751:13069148,4736286,0 -[1,375:17716716,6660751:13069148,4736286,0 -(1,375:17716716,1924465:13069148,0,0 -h1,375:17716716,1924465:0,0,0 -k1,375:30785864,1924465:13069148 -g1,375:30785864,1924465 -) -] -) -) -(1,375:30785864,1924465:0,0,0 -) -) -g1,378:30785864,4555735 -g1,378:30785864,4555735 -) -(1,380:17716716,7512719:13069148,589824,196608 -(1,379:17716716,7512719:0,589824,196608 -g1,379:17716716,7512719 -g1,379:16689996,7512719 -g1,379:16433316,7512719 -(1,379:16433316,7512719:1026720,589824,196608 -g1,379:16433316,7512719 -(1,379:16433316,7512719:1026720,589824,196608 -g1,379:16433316,7512719 -x1,379:16732776,7512719 -g1,379:16732776,7512719 -x1,379:17160576,7512719 -g1,379:17160576,7512719 -x1,379:17460036,7512719 -) -) -g1,379:17716716,7512719 -) -x1,379:19218294,7512719 -g1,379:19474974,7512719 -x1,379:19992612,7512719 -g1,379:20249292,7512719 -x1,379:20634312,7512719 -g1,379:20890992,7512719 -x1,379:22371180,7512719 -x1,379:23911260,7512719 -k1,380:30785864,7512719:6874604 -g1,380:30785864,7512719 -) -(1,383:17716716,10406133:13069148,2631270,2105016 -(1,380:17716716,10406133:13069148,2631270,2105016 -(1,380:17716716,12511149:0,0,0 -) -(1,380:17716716,10406133:13069148,2631270,2105016 -(1,380:17716716,12511149:13069148,4736286,0 -[1,380:17716716,12511149:13069148,4736286,0 -(1,380:17716716,7774863:13069148,0,0 -h1,380:17716716,7774863:0,0,0 -k1,380:30785864,7774863:13069148 -g1,380:30785864,7774863 -) -] -) -) -(1,380:30785864,7774863:0,0,0 -) -) -g1,383:30785864,10406133 -g1,383:30785864,10406133 -) -] -(1,384:30785864,13155585:0,338603,152916 -h1,384:30785864,13155585:427800,338603,152916 -k1,384:30785864,13155585:-427800 -) -) -(1,388:0,14741154:30785864,26214,0 -h1,387:0,14741154:1155060,0,0 -(1,387:1155060,14741154:29360456,26214,0 -k1,387:5522052,14741154:4366992 -(1,387:5522052,14741154:20626472,26214,0 -r1,387:26148524,14741154:20626472,26214,0 -) -k1,387:30515516,14741154:4366992 -) -k1,388:30785864,14741154:270348 -g1,388:30785864,14741154 -) -(1,393:0,15990987:30785864,589824,196608 -g1,391:0,15990987 -(1,391:0,15990987:0,0,0 -g1,391:0,15990987 -g1,391:0,15990987 -) -x1,391:604388,15990987 -x1,391:1715315,15990987 -g1,391:2010227,15990987 -x1,391:2339728,15990987 -x1,391:2939565,15990987 -g1,391:3234477,15990987 -x1,391:3533937,15990987 -$1,391:3533937,15990987 -(1,391:3533937,15990987:770040,506811,0 -x1,391:4303977,15990987 -) -g1,391:4435047,15990987 -(1,391:4435047,15990987:2057718,521949,152916 -(1,391:4435047,15990987:2057718,521949,152916 -x1,391:4862847,15990987 -x1,391:5910957,15990987 -x1,391:6492765,15990987 -) -) -$1,391:6492765,15990987 -x1,391:6792225,15990987 -g1,391:7087137,15990987 -g1,391:7087137,15990987 -g1,391:7087137,15990987 -x1,391:8413317,15990987 -g1,392:8669997,15990987 -x1,392:10103127,15990987 -x1,392:11664597,15990987 -g1,392:11921277,15990987 -x1,392:12438915,15990987 -g1,392:12695595,15990987 -x1,392:13080615,15990987 -g1,392:13337295,15990987 -x1,392:15052773,15990987 -g1,392:15309453,15990987 -x1,392:17469843,15990987 -g1,392:17726523,15990987 -x1,392:18346833,15990987 -g1,392:18603513,15990987 -x1,392:22030191,15990987 -g1,392:22286871,15990987 -x1,392:25328529,15990987 -g1,392:25585209,15990987 -x1,392:28579809,15990987 -k1,393:30785864,15990987:2206055 -g1,393:30785864,15990987 -) -(1,397:1425408,17137867:29360456,589824,196608 -(1,395:1425408,17137867:0,0,0 -g1,395:1425408,17137867 -g1,395:0,17137867 -g1,395:-256680,17137867 -(1,395:-256680,17137867:1425408,0,0 -k1,395:1168728,17137867:1425408 -) -g1,395:1425408,17137867 -) -g1,396:1425408,17137867 -(1,396:1425408,17137867:0,589824,196608 -k1,396:-2436856,17137867:-3862264 -x1,396:-2137396,17137867 -$1,396:-2137396,17137867 -x1,396:-1778586,17137867 -(1,396:-1778586,16877449:778615,322479,101945 -x1,396:-1032739,16877449 -) -$1,396:-999971,17137867 -x1,396:-720896,17137867 -r1,396:-720896,17137867:0,786432,196608 -g1,396:1425408,17137867 -g1,396:1425408,17137867 -) -(1,396:1425408,17137867:0,506811,0 -k1,396:442368,17137867:-983040 -(1,396:442368,17137867:983040,506811,0 -x1,396:1130496,17137867 -g1,396:1425408,17137867 -) -) -x1,396:2926986,17137867 -g1,396:3183666,17137867 -x1,396:3701304,17137867 -g1,396:3957984,17137867 -x1,396:4343004,17137867 -g1,396:4599684,17137867 -x1,396:7619952,17137867 -k1,397:30785864,17137867:23165912 -g1,397:30785864,17137867 -) -(1,400:1425408,18847210:29360456,1447199,920944 -(1,397:1425408,18847210:29360456,1447199,920944 -(1,397:1425408,19768154:0,0,0 -) -(1,397:1425408,18847210:29360456,1447199,920944 -(1,397:1425408,19768154:29360456,2368143,0 -[1,397:1425408,19768154:29360456,2368143,0 -(1,397:1425408,17400011:29360456,0,0 -h1,397:1425408,17400011:0,0,0 -k1,397:30785864,17400011:29360456 -g1,397:30785864,17400011 -) -] -) -) -(1,397:30785864,17400011:0,0,0 -) -) -g1,400:30785864,18847210 -g1,400:30785864,18847210 -) -(1,404:1425408,20816730:29360456,589824,196608 -(1,402:1425408,20816730:0,0,0 -g1,402:1425408,20816730 -g1,402:0,20816730 -g1,402:-256680,20816730 -(1,402:-256680,20816730:1425408,0,0 -k1,402:1168728,20816730:1425408 -) -g1,402:1425408,20816730 -) -g1,403:1425408,20816730 -(1,403:1425408,20816730:0,589824,196608 -k1,403:-2436856,20816730:-3862264 -x1,403:-2137396,20816730 -$1,403:-2137396,20816730 -x1,403:-1778586,20816730 -(1,403:-1778586,20556312:778615,322479,101945 -x1,403:-1032739,20556312 -) -$1,403:-999971,20816730 -x1,403:-720896,20816730 -r1,403:-720896,20816730:0,786432,196608 -g1,403:1425408,20816730 -g1,403:1425408,20816730 -) -(1,403:1425408,20816730:0,506811,0 -k1,403:442368,20816730:-983040 -(1,403:442368,20816730:983040,506811,0 -x1,403:1130496,20816730 -g1,403:1425408,20816730 -) -) -x1,403:2926986,20816730 -g1,403:3183666,20816730 -x1,403:3701304,20816730 -g1,403:3957984,20816730 -x1,403:4343004,20816730 -g1,403:4599684,20816730 -x1,403:7619952,20816730 -k1,404:30785864,20816730:23165912 -g1,404:30785864,20816730 -) -(1,407:1425408,22526073:29360456,1447199,920944 -(1,404:1425408,22526073:29360456,1447199,920944 -(1,404:1425408,23447017:0,0,0 -) -(1,404:1425408,22526073:29360456,1447199,920944 -(1,404:1425408,23447017:29360456,2368143,0 -[1,404:1425408,23447017:29360456,2368143,0 -(1,404:1425408,21078874:29360456,0,0 -h1,404:1425408,21078874:0,0,0 -k1,404:30785864,21078874:29360456 -g1,404:30785864,21078874 -) -] -) -) -(1,404:30785864,21078874:0,0,0 -) -) -g1,407:30785864,22526073 -g1,407:30785864,22526073 -) -(1,411:1425408,24495593:29360456,589824,196608 -(1,409:1425408,24495593:0,0,0 -g1,409:1425408,24495593 -g1,409:0,24495593 -g1,409:-256680,24495593 -(1,409:-256680,24495593:1425408,0,0 -k1,409:1168728,24495593:1425408 -) -g1,409:1425408,24495593 -) -g1,410:1425408,24495593 -(1,410:1425408,24495593:0,589824,196608 -k1,410:-2436856,24495593:-3862264 -x1,410:-2137396,24495593 -$1,410:-2137396,24495593 -x1,410:-1778586,24495593 -(1,410:-1778586,24235175:778615,322479,101945 -x1,410:-1032739,24235175 -) -$1,410:-999971,24495593 -x1,410:-720896,24495593 -r1,410:-720896,24495593:0,786432,196608 -g1,410:1425408,24495593 -g1,410:1425408,24495593 -) -(1,410:1425408,24495593:0,506811,0 -k1,410:442368,24495593:-983040 -(1,410:442368,24495593:983040,506811,0 -x1,410:1130496,24495593 -g1,410:1425408,24495593 -) -) -x1,410:2926986,24495593 -g1,410:3183666,24495593 -x1,410:3701304,24495593 -g1,410:3957984,24495593 -x1,410:4343004,24495593 -g1,410:4599684,24495593 -x1,410:7619952,24495593 -k1,411:30785864,24495593:23165912 -g1,411:30785864,24495593 -) -(1,414:1425408,27389007:29360456,2631270,2105016 -(1,411:1425408,27389007:29360456,2631270,2105016 -(1,411:1425408,29494023:0,0,0 -) -(1,411:1425408,27389007:29360456,2631270,2105016 -(1,411:1425408,29494023:29360456,4736286,0 -[1,411:1425408,29494023:29360456,4736286,0 -(1,411:1425408,24757737:29360456,0,0 -h1,411:1425408,24757737:0,0,0 -k1,411:30785864,24757737:29360456 -g1,411:30785864,24757737 -) -] -) -) -(1,411:30785864,24757737:0,0,0 -) -) -g1,414:30785864,27389007 -g1,414:30785864,27389007 -) -(1,418:1425408,30542599:29360456,589824,196608 -(1,416:1425408,30542599:0,0,0 -g1,416:1425408,30542599 -g1,416:0,30542599 -g1,416:-256680,30542599 -(1,416:-256680,30542599:1425408,0,0 -k1,416:1168728,30542599:1425408 -) -g1,416:1425408,30542599 -) -g1,417:1425408,30542599 -(1,417:1425408,30542599:0,589824,196608 -k1,417:-2436856,30542599:-3862264 -x1,417:-2137396,30542599 -$1,417:-2137396,30542599 -x1,417:-1778586,30542599 -(1,417:-1778586,30282181:778615,322479,101945 -x1,417:-1032739,30282181 -) -$1,417:-999971,30542599 -x1,417:-720896,30542599 -r1,417:-720896,30542599:0,786432,196608 -g1,417:1425408,30542599 -g1,417:1425408,30542599 -) -(1,417:1425408,30542599:0,506811,0 -k1,417:442368,30542599:-983040 -(1,417:442368,30542599:983040,506811,0 -x1,417:1130496,30542599 -g1,417:1425408,30542599 -) -) -x1,417:2926986,30542599 -g1,417:3183666,30542599 -x1,417:3701304,30542599 -g1,417:3957984,30542599 -x1,417:4343004,30542599 -g1,417:4599684,30542599 -x1,417:7619952,30542599 -k1,418:30785864,30542599:23165912 -g1,418:30785864,30542599 -) -(1,421:1425408,33436013:29360456,2631270,2105016 -(1,418:1425408,33436013:29360456,2631270,2105016 -(1,418:1425408,35541029:0,0,0 -) -(1,418:1425408,33436013:29360456,2631270,2105016 -(1,418:1425408,35541029:29360456,4736286,0 -[1,418:1425408,35541029:29360456,4736286,0 -(1,418:1425408,30804743:29360456,0,0 -h1,418:1425408,30804743:0,0,0 -k1,418:30785864,30804743:29360456 -g1,418:30785864,30804743 -) -] -) -) -(1,418:30785864,30804743:0,0,0 -) -) -g1,421:30785864,33436013 -g1,421:30785864,33436013 -) -(1,425:1425408,36589605:29360456,589824,196608 -(1,423:1425408,36589605:0,0,0 -g1,423:1425408,36589605 -g1,423:0,36589605 -g1,423:-256680,36589605 -(1,423:-256680,36589605:1425408,0,0 -k1,423:1168728,36589605:1425408 -) -g1,423:1425408,36589605 -) -g1,424:1425408,36589605 -(1,424:1425408,36589605:0,589824,196608 -k1,424:-2795666,36589605:-4221074 -x1,424:-2496206,36589605 -$1,424:-2496206,36589605 -(1,424:-2496206,36589605:717620,462465,0 -x1,424:-1778586,36589605 -) -(1,424:-1778586,36329187:778615,322479,101945 -x1,424:-1032739,36329187 -) -$1,424:-999971,36589605 -x1,424:-720896,36589605 -r1,424:-720896,36589605:0,786432,196608 -g1,424:1425408,36589605 -g1,424:1425408,36589605 -) -(1,424:1425408,36589605:0,506811,0 -k1,424:442368,36589605:-983040 -(1,424:442368,36589605:983040,506811,0 -x1,424:1130496,36589605 -g1,424:1425408,36589605 -) -) -x1,424:2926986,36589605 -g1,424:3183666,36589605 -x1,424:3701304,36589605 -g1,424:3957984,36589605 -x1,424:4343004,36589605 -g1,424:4599684,36589605 -x1,424:7619952,36589605 -k1,425:30785864,36589605:23165912 -g1,425:30785864,36589605 -) -(1,428:1425408,39483019:29360456,2631270,2105016 -(1,425:1425408,39483019:29360456,2631270,2105016 -(1,425:1425408,41588035:0,0,0 -) -(1,425:1425408,39483019:29360456,2631270,2105016 -(1,425:1425408,41588035:29360456,4736286,0 -[1,425:1425408,41588035:29360456,4736286,0 -(1,425:1425408,36851749:29360456,0,0 -h1,425:1425408,36851749:0,0,0 -k1,425:30785864,36851749:29360456 -g1,425:30785864,36851749 -) -] -) -) -(1,425:30785864,36851749:0,0,0 -) -) -g1,428:30785864,39483019 -g1,428:30785864,39483019 -) -] -(1,430:0,42626580:30785864,0,0 -(1,430:0,42626580:30785864,0,0 -(1,430:0,42626580:0,0,0 -r1,430:0,42626580:0,0,0 -g1,430:30785864,42626580 -g1,430:30785864,42626580 -r1,430:30785864,42626580:0,0,0 -g1,430:31506760,42626580 -g1,430:31506760,42626580 -(1,430:31506760,42626580:2293760,0,0 -(1,430:31506760,43971707:2293760,1345127,951910 -$1,430:31506760,43971707 -[1,430:31506760,43971707:2293760,1345127,951910 -(1,430:31506760,43971707:2293760,1345127,951910 -h1,430:31506760,43971707:0,0,0 -(1,430:31506760,43971707:2293760,1345127,951910 -$1,430:31506760,43971707 -[1,430:31506760,43971707:2293760,1345127,951910 -(1,430:31506760,43635834:2293760,983040,285084 -g1,430:31506760,43635834 -(1,430:31506760,43635834:2293760,983040,285084 -r1,430:31506760,43635834:0,950271,285084 -r1,430:31532974,43635834:26214,1268124,285084 -g1,430:31532974,43635834 -k1,430:32653640,43635834:1120666 -r1,430:32653640,43635834:0,1268124,285084 -k1,430:33774306,43635834:1120666 -g1,430:33774306,43635834 -r1,430:33800520,43635834:26214,1268124,285084 -) -g1,430:33800520,43635834 -) -(1,430:31506760,44612319:2293760,665187,285084 -g1,430:31506760,44612319 -(1,430:31506760,44612319:2293760,665187,285084 -r1,430:31506760,44612319:0,950271,285084 -r1,430:31532974,44612319:26214,950271,285084 -g1,430:31532974,44612319 -g1,430:31532974,44612319 -(1,430:31532974,44612319:2241332,462465,139537 -k1,430:31754623,44612319:221649 -$1,430:31754623,44612319 -(1,430:31754623,44612319:717620,462465,0 -x1,430:32472243,44612319 -) -g1,430:32591844,44612319 -(1,430:32591844,44612319:960814,441393,139537 -(1,430:32591844,44612319:960814,441393,139537 -x1,430:33552658,44612319 -) -) -$1,430:33552658,44612319 -k1,430:33774306,44612319:221648 -) -g1,430:33774306,44612319 -g1,430:33774306,44612319 -r1,430:33800520,44612319:26214,950271,285084 -) -g1,430:33800520,44612319 -) -] -$1,430:33800520,43971707 -) -g1,430:33800520,43971707 -g1,430:33800520,43971707 -) -] -$1,430:33800520,43971707 -) -) -k1,430:0,42626580:-33800520 -) -g1,430:0,42626580 -k1,430:15392932,42626580:15392932 -k1,430:30785864,42626580:15392932 -) -) -] -] -] -!20154 -}4 -!10 -{5 -[1,445:0,42626580:30785864,42626580,0 -[1,445:0,0:0,0,0 -(1,445:0,-2433924:0,0,0 -k1,445:0,-2433924:65781 -) -] -[1,445:0,42626580:30785864,42626580,0 -[1,445:0,42626580:30785864,44994723,0 -[1,445:0,-1581711:30785864,786432,0 -(1,445:0,-1581711:30785864,589824,196608 -(1,445:0,-1581711:30785864,589824,196608 -r1,445:0,-1581711:0,786432,196608 -g1,445:0,-1581711 -g1,445:0,-1581711 -(1,445:0,-1581711:30785864,589824,196608 -g1,445:0,-1581711 -x1,445:2267340,-1581711 -k1,445:8668980,-1581711:6401640 -x1,445:9054000,-1581711 -g1,445:9310680,-1581711 -x1,445:9834599,-1581711 -x1,445:10925489,-1581711 -g1,445:11182169,-1581711 -x1,445:11567189,-1581711 -g1,445:11823869,-1581711 -x1,445:12444179,-1581711 -g1,445:12700859,-1581711 -x1,445:13085879,-1581711 -g1,445:13342559,-1581711 -x1,445:13727579,-1581711 -k1,445:20129219,-1581711:6401640 -$1,445:20129219,-1581711 -[1,445:20129219,-1581711:10656645,537395,157280 -(1,445:20129219,-1581711:10656645,537395,0 -(1,445:20129219,-1581711:10656645,537395,0 -(1,445:20129219,-1581711:10656645,537395,0 -x1,445:22289336,-1581711 -k1,445:30785864,-1581711:8496528 -) -) -) -] -$1,445:30785864,-1581711 -(1,445:30785864,-1581711:0,559146,164453 -(1,445:30785864,-1515930:0,624927,98672 -(1,445:30785864,-1515930:0,624927,98672 -k1,445:22546016,-1515930:-8239848 -(1,445:22546016,-1515930:8239848,624927,98672 -(1,445:22546016,-1417258:0,0,0 -) -(1,445:22546016,-1515930:8239848,624927,98672 -(1,445:22546016,-1417258:8239848,723599,0 -[1,445:22546016,-1417258:8239848,723599,0 -(1,445:22546016,-2140857:8239848,0,0 -h1,445:22546016,-2140857:0,0,0 -k1,445:30785864,-2140857:8239848 -g1,445:30785864,-2140857 -) -] -) -) -(1,445:30785864,-2140857:0,0,0 -) -) -) -) -) -g1,445:30785864,-1581711 -) -) -) -] -[1,445:0,41905684:30785864,42176675,0 -(1,432:1425408,515441:29360456,589824,196608 -(1,430:1425408,515441:0,0,0 -g1,430:1425408,515441 -g1,430:0,515441 -g1,430:-256680,515441 -(1,430:-256680,515441:1425408,0,0 -k1,430:1168728,515441:1425408 -) -g1,430:1425408,515441 -) -g1,431:1425408,515441 -(1,431:1425408,515441:0,589824,196608 -k1,431:-2436856,515441:-3862264 -x1,431:-2137396,515441 -$1,431:-2137396,515441 -x1,431:-1778586,515441 -(1,431:-1778586,255023:778615,322479,101945 -x1,431:-1032739,255023 -) -$1,431:-999971,515441 -x1,431:-720896,515441 -r1,431:-720896,515441:0,786432,196608 -g1,431:1425408,515441 -g1,431:1425408,515441 -) -(1,431:1425408,515441:0,506811,0 -k1,431:442368,515441:-983040 -(1,431:442368,515441:983040,506811,0 -x1,431:1130496,515441 -g1,431:1425408,515441 -) -) -x1,431:2926986,515441 -g1,431:3183666,515441 -x1,431:3701304,515441 -g1,431:3957984,515441 -x1,431:4343004,515441 -g1,431:4599684,515441 -x1,431:7619952,515441 -k1,432:30785864,515441:23165912 -g1,432:30785864,515441 -) -(1,435:1425408,3408855:29360456,2631270,2105016 -(1,432:1425408,3408855:29360456,2631270,2105016 -(1,432:1425408,5513871:0,0,0 -) -(1,432:1425408,3408855:29360456,2631270,2105016 -(1,432:1425408,5513871:29360456,4736286,0 -[1,432:1425408,5513871:29360456,4736286,0 -(1,432:1425408,777585:29360456,0,0 -h1,432:1425408,777585:0,0,0 -k1,432:30785864,777585:29360456 -g1,432:30785864,777585 -) -] -) -) -(1,432:30785864,777585:0,0,0 -) -) -g1,435:30785864,3408855 -g1,435:30785864,3408855 -) -(1,439:1425408,6562447:29360456,589824,196608 -(1,437:1425408,6562447:0,0,0 -g1,437:1425408,6562447 -g1,437:0,6562447 -g1,437:-256680,6562447 -(1,437:-256680,6562447:1425408,0,0 -k1,437:1168728,6562447:1425408 -) -g1,437:1425408,6562447 -) -g1,438:1425408,6562447 -(1,438:1425408,6562447:0,589824,196608 -k1,438:-2795666,6562447:-4221074 -x1,438:-2496206,6562447 -$1,438:-2496206,6562447 -(1,438:-2496206,6562447:717620,462465,0 -x1,438:-1778586,6562447 -) -(1,438:-1778586,6302029:778615,322479,101945 -x1,438:-1032739,6302029 -) -$1,438:-999971,6562447 -x1,438:-720896,6562447 -r1,438:-720896,6562447:0,786432,196608 -g1,438:1425408,6562447 -g1,438:1425408,6562447 -) -(1,438:1425408,6562447:0,506811,0 -k1,438:442368,6562447:-983040 -(1,438:442368,6562447:983040,506811,0 -x1,438:1130496,6562447 -g1,438:1425408,6562447 -) -) -x1,438:2926986,6562447 -g1,438:3183666,6562447 -x1,438:3701304,6562447 -g1,438:3957984,6562447 -x1,438:4343004,6562447 -g1,438:4599684,6562447 -x1,438:7619952,6562447 -k1,439:30785864,6562447:23165912 -g1,439:30785864,6562447 -) -(1,442:1425408,9455861:29360456,2631270,2105016 -(1,439:1425408,9455861:29360456,2631270,2105016 -(1,439:1425408,11560877:0,0,0 -) -(1,439:1425408,9455861:29360456,2631270,2105016 -(1,439:1425408,11560877:29360456,4736286,0 -[1,439:1425408,11560877:29360456,4736286,0 -(1,439:1425408,6824591:29360456,0,0 -h1,439:1425408,6824591:0,0,0 -k1,439:30785864,6824591:29360456 -g1,439:30785864,6824591 -) -] -) -) -(1,439:30785864,6824591:0,0,0 -) -) -g1,442:30785864,9455861 -g1,442:30785864,9455861 -) -] -(1,445:0,42626580:30785864,0,0 -(1,445:0,42626580:30785864,0,0 -(1,445:0,42626580:0,0,0 -r1,445:0,42626580:0,0,0 -g1,445:30785864,42626580 -g1,445:30785864,42626580 -r1,445:30785864,42626580:0,0,0 -g1,445:31506760,42626580 -g1,445:31506760,42626580 -(1,445:31506760,42626580:2293760,0,0 -(1,445:31506760,43971707:2293760,1345127,951910 -$1,445:31506760,43971707 -[1,445:31506760,43971707:2293760,1345127,951910 -(1,445:31506760,43971707:2293760,1345127,951910 -h1,445:31506760,43971707:0,0,0 -(1,445:31506760,43971707:2293760,1345127,951910 -$1,445:31506760,43971707 -[1,445:31506760,43971707:2293760,1345127,951910 -(1,445:31506760,43635834:2293760,983040,285084 -g1,445:31506760,43635834 -(1,445:31506760,43635834:2293760,983040,285084 -r1,445:31506760,43635834:0,950271,285084 -r1,445:31532974,43635834:26214,1268124,285084 -g1,445:31532974,43635834 -k1,445:32653640,43635834:1120666 -r1,445:32653640,43635834:0,1268124,285084 -k1,445:33774306,43635834:1120666 -g1,445:33774306,43635834 -r1,445:33800520,43635834:26214,1268124,285084 -) -g1,445:33800520,43635834 -) -(1,445:31506760,44612319:2293760,665187,285084 -g1,445:31506760,44612319 -(1,445:31506760,44612319:2293760,665187,285084 -r1,445:31506760,44612319:0,950271,285084 -r1,445:31532974,44612319:26214,950271,285084 -g1,445:31532974,44612319 -g1,445:31532974,44612319 -(1,445:31532974,44612319:2241332,462465,139537 -k1,445:31754623,44612319:221649 -$1,445:31754623,44612319 -(1,445:31754623,44612319:717620,462465,0 -x1,445:32472243,44612319 -) -g1,445:32591844,44612319 -(1,445:32591844,44612319:960814,441393,139537 -(1,445:32591844,44612319:960814,441393,139537 -x1,445:33552658,44612319 -) -) -$1,445:33552658,44612319 -k1,445:33774306,44612319:221648 -) -g1,445:33774306,44612319 -g1,445:33774306,44612319 -r1,445:33800520,44612319:26214,950271,285084 -) -g1,445:33800520,44612319 -) -] -$1,445:33800520,43971707 -) -g1,445:33800520,43971707 -g1,445:33800520,43971707 -) -] -$1,445:33800520,43971707 -) -) -k1,445:0,42626580:-33800520 -) -g1,445:0,42626580 -k1,445:15392932,42626580:15392932 -k1,445:30785864,42626580:15392932 -) -) -] -] -] -!6659 -}5 -Input:71:C:\Users\Public\Documents\My TeX Files\tex\latex\aeb\eqexam\examples\test01.aux -!98 -Postamble: -Count:3699 -!26 -Post scriptum: diff --git a/texmf-dist/doc/latex/eqexam/examples/test01.tex b/texmf-dist/doc/latex/eqexam/examples/test01.tex index 9b08e9ea..102b7b61 100644 --- a/texmf-dist/doc/latex/eqexam/examples/test01.tex +++ b/texmf-dist/doc/latex/eqexam/examples/test01.tex @@ -2,9 +2,10 @@ \usepackage{amsmath} \usepackage{graphicx} \usepackage[% - online, % try commenting out this option to get a paper document - nosolutions, -% vspacewithsolns, +% online, % try commenting out this option to get a paper document +% nosolutions, +% answerkey, + vspacewithsolns, forcolorpaper, pointsonleft,totalsonright,noparttotals, coverpage,coverpagesumry=bypages @@ -34,6 +35,8 @@ \hfuzz = .7pt +\vspacewithkeyOn + \begin{document} \maketitle diff --git a/texmf-dist/doc/latex/eqexam/fortextbook.zip b/texmf-dist/doc/latex/eqexam/fortextbook.zip Binary files differnew file mode 100644 index 00000000..e3210cfd --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/fortextbook.zip diff --git a/texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf b/texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf Binary files differnew file mode 100644 index 00000000..4619dc88 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/fortextbook/fortextbook.pdf diff --git a/texmf-dist/doc/latex/eqexam/script/eqAttach.asp b/texmf-dist/doc/latex/eqexam/script/eqAttach.asp new file mode 100644 index 00000000..f87f8b47 --- /dev/null +++ b/texmf-dist/doc/latex/eqexam/script/eqAttach.asp @@ -0,0 +1,202 @@ +<%@ LANGUAGE = VBScript%> +<% +' Copyright 2005 D. P. Story +' All Rights Reserved +' See eqexamman.pdf for some documentation + +' NOTICE: 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. + +' This script is offered "as is", no guarantees are extended. +' eqRecord should be extensively tested on your own system +' until you are satisfied with its functionality and +' reliability. +' +' Note: You need to edit one line below. Search this file for the line that +' contains the string "mySMTP". Replace this string with your SMTP server. + +Response.buffer = True + +Dim DebugTxt, DebugFDF +Dim ErcStatus : ErcStatus = "Problems Reported: " +DebugTxt = False +DebugFDF = False + +' Send FDF file +If DebugTxt Then + Response.ContentType = "text/html" + Response.Write "Debug Info" & "<br>" +Else + Response.ContentType = "application/vnd.fdf" +End If + +On error Resume Next + +Dim silentMode : silentMode = False +Dim stripPath : stripPath = False + +If Request.QueryString("silent").Count > 0 Then silentMode = True +If Request.QueryString("nopath").Count > 0 Then stripPath = True + +Rem Create an FDF object +Set FdfAcx = Server.CreateObject("FdfApp.FdfApp") +Set FDFout = FdfAcx.FDFCreate + +Rem Parse Incoming Data +Set FDFin = FdfAcx.FDFOpenFromBuf (Request.BinaryRead(Request.TotalBytes)) + +Dim cPDFPath, pos + +If stripPath Then + If DebugTxt Then Response.Write "stripPath is true " & "<br>" + cPDFPath = FDFin.FDFGetFile + pos = InStrRev( cPDFPath, "/") + If pos <> 0 Then + If DebugTxt Then Response.Write "pos = " & pos & "<br>" + cPDFPath = Mid(cPDFPath, pos + 1, Len(cPDFPath) - pos ) + If DebugTxt Then Response.Write "cPDFPath = " & cPDFPath & "<br>" + FDFin.FDFSetFile cPDFPath + End If +End If + +Rem Declare some variables +Dim cBuf +Dim cTime : cTime = Now +Dim eqMail, cMailTo, cMailFrom, cMailSubject +Dim cCourseName, cExam, cStudent, cSID, strMessage, cRetnMsg, eqTab, eqCR +eqTab = chr(9) +eqCR = chr(10) + +' Get Required Info ------------------- +' The only thing we really need is the email address to send this data to +cMailTo = FDFin.FDFGetValue("IdInfo.mailTo") +' cMailFrom = cMailTo + +' Get Optional Info ------ + +On error Resume Next +cCourseName = "" : cCourseName = Trim(FDFin.FDFGetValue("IdInfo.courseName")) + +On error Resume Next +cExam = "" : cExam = Trim(FDFin.FDFGetValue("IdInfo.examName")) + +On error Resume Next +cStudent = "" : cStudent = Trim(FDFin.FDFGetValue("IdInfo.Name")) + +On error Resume Next +cSID = "" : cSID = Trim(FDFin.FDFGetValue("IdInfo.SID")) + +On error Resume Next +cMailFrom = "" : cMailFrom = Trim(FDFin.FDFGetValue("IdInfo.email")) +If Trim(cMailFrom) = "" Then cMailFrom = cMailTo + +On error Resume Next +cMailSubject = "" : cMailSubject = FDFin.FDFGetValue("IdInfo.subject") +If Trim(cMailSubject) = "" Then cMailSubject = "Exam Results: " & cExam & " of " & cCourseName + +On error Resume Next +cRetnMsg = "" : cRetnMsg = Trim(FDFin.FDFGetValue("IdInfo.retnmsg")) + +strMessage = "Summary Information:" +If cCourseName <> "" Then strMessage = strMessage & eqCR & eqTab & "Subject: " & cCourseName +If cExam <> "" Then strMessage = strMessage & eqCR & eqTab & "Title: " & cExam +If cStudent <> "" Then strMessage = strMessage & eqCR & eqTab & "Name: " & cStudent +strMessage = strMessage & eqCR & eqTab & "TimeOfQuiz: " & cTime + +If Trim(cRetnMsg) = "" Then + cBuf = "Exam results successfully sent to your instructor!" +Else + cBuf = cRetnMsg +End If + +If DebugFDF Then cBuf = cBuf & " " & ErcStatus + +If Not silentMode Then FDFout.FDFSetStatus cBuf + +' Construct and send e-mail + +'CDONTS +' Set eqMail = CreateObject("CDONTS.NewMail") 'cdots + +' CDOSYS +Set eqMail = Server.CreateObject("CDO.Message") +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mySMTP" +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 +eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 +' eqMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 +eqMail.Configuration.Fields.Update + +eqMail.To = cMailTo +' See if there is a comma in the cMailFrom string, if yes, then we have multiple addresses +' that we are sending to. We extract the first e-mail address as the one we will put in +' the eqMail.From address. +position = InStr(1,cMailFrom,",",0) +If position <> 0 Then cMailFrom = Trim(Mid(cMailFrom,1,position-1)) +eqMail.From = cMailFrom +eqMail.Subject = cMailSubject + +' CDOSSYS or CDONTS +eqMail.TextBody = strMessage +' eqMail.Body = strMessage 'cdots + +Dim strTempFile +Dim strTempFolder +Dim strTemp +Dim fso + +Set fso = CreateObject("Scripting.FileSystemObject") +Set strTempfolder = fso.GetSpecialFolder(2) +strTempFile = fso.GetTempName() +strTempFile = left(strTempFile, len(strTempFile)-4) +strTemp = strTempFolder & "\" & strTempFile & ".fdf" +FDFin.FDFSaveToFile strTemp + +If DebugTxt Then Response.Write "strTemp = " & strTemp & "<br>" + +' CDOSSYS or CDONTS +eqMail.AddAttachment strTemp +' eqMail.AttachFile strTemp 'cdots + +eqMail.Send +Set eqMail = Nothing +' Send back to the browser +Response.BinaryWrite FDFout.FDFSaveToBuf + +' Delete temporary file +fso.DeleteFile strTemp +Set fso = nothing + +FDFin.FDFClose +FDFout.FDFClose +Set FdfAcx = Nothing +Set FDFin = Nothing +Set FDFout = Nothing + +If DebugTxt Then + Response.Write strMessage +End If + +Sub RecordError(field) + If Err.Number <> 0 And DebugFDF Then + ErcStatus = ErcStatus & " "&field&": " & Err.Description + End If + If Err.Number <> 0 And DebugTxt Then + Response.Write "Set Error: "&field&": " & Err.Description & "<br>" + End If + Err.Clear +End Sub + +Sub ReportError(ByRef localErr) + DebugMsg "Err.Description: ", localErr.Description + DebugMsg "Err.Number: ", localErr.Number + localErr.Clear +End Sub + +Sub DebugMsg(myText, myEval) + If DebugTxt Then Response.Write myText & myEval &"<br>" +End Sub +%> |