diff options
Diffstat (limited to 'usergrps/uktug/baskervi/5_3')
38 files changed, 13728 insertions, 0 deletions
diff --git a/usergrps/uktug/baskervi/5_3/LOG b/usergrps/uktug/baskervi/5_3/LOG new file mode 100644 index 0000000000..0efd4a6cd4 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/LOG @@ -0,0 +1 @@ +bash: ../place: No such file or directory diff --git a/usergrps/uktug/baskervi/5_3/abbott.tex b/usergrps/uktug/baskervi/5_3/abbott.tex new file mode 100644 index 0000000000..fb94d3ed99 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/abbott.tex @@ -0,0 +1,41 @@ +\title{Membership Data} +\author[Peter Abbott]{Peter Abbott\\Honorary Treasurer} +\begin{Article} +As at 20th March 1995 the membership stood at + +\begin{tabular}{lr} +UKTUG & 62\\ +UKTUG(Student) & 2\\ +Full TUG and UKTUG & 98\\ +Basic TUG and UKTUG & 6\\ +Full TUG and UKTUG (Student) & 4\\ +Basic TUG and UKTUG (Student) & 1\\ +Institutional & 4\\ +Full TUG & 2\\ +Basic TUG & 0\\ +TUG and UKTUG (Student)& \\ +\hline +Total & 182\\ +\hline +\end{tabular} + + + +\section{Membership Services} + +Agreement has been reached to but site licences for the software +listed below. A member of the UK \TeX\ User's Group is permitted to +use the software (which is usually shareware) without additional +payment as long as they are a member of the group. It is provided +for personal use only. +\begin{itemize} +\item OzTeX version 1.8 -- Either obtain a copy from the CTAN archive, +or available from me. +\item Dvips and \MF\ Mac -- Licence code details not yet +known, contact me. +\item Alpha -- a text editor for OzTeX obtainable from CTAN or me. +\item Eddi4TeX -- a \TeX\ shell and text editor +for MS DOS obtainable from me (The access +code will be mailed direct from Germany). +\end{itemize} +\end{Article} diff --git a/usergrps/uktug/baskervi/5_3/abbott2.tex b/usergrps/uktug/baskervi/5_3/abbott2.tex new file mode 100644 index 0000000000..89a91437dc --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/abbott2.tex @@ -0,0 +1,30 @@ +Return-Path: <Peter.Abbott@cl.cam.ac.uk>
+Delivery-Date:
+Received: from ouse.cl.cam.ac.uk (user pa10007 (rfc931)) by swan.cl.cam.ac.uk
+ with SMTP (PP-6.5) to cl; Tue, 21 Mar 1995 14:27:17 +0000
+To: Sebastian.Rahtz@cl.cam.ac.uk
+From: Peter.Abbott@tex.ac.uk
+Subject: Booklist
+Date: Tue, 21 Mar 1995 14:27:04 +0000
+Sender: Peter.Abbott@cl.cam.ac.uk
+Message-ID: <"swan.cl.cam.:253320:950321142738"@cl.cam.ac.uk>
+
+Sebastian
+
+Please may I have the source of the booklist for updating and
+issue to enquiries.
+
+Also 0 201 52372 8 Thinking in Postscript by Gleen reid is out of
+print and Addison-Wesley say unlikely to be reprinted.
+
+Please can you add this to my report for Baskerville and delete
+from the booklist.
+
+Thanks
+
+Peter
+
+PS Don't forget I still need unzip for discs 8 and 9, I have
+an outstanding request for a copy.
+
+
diff --git a/usergrps/uktug/baskervi/5_3/agm.tex b/usergrps/uktug/baskervi/5_3/agm.tex new file mode 100644 index 0000000000..90c8a2ec88 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/agm.tex @@ -0,0 +1,185 @@ +\title{The 1995 Annual General Meeting} +\author{} +\begin{Article} +The Annual General Meeting of the \ukt\ will almost certainly be held on the +morning of Wednesday 18~October 1995. The place is not yet known. Full details +will be given in \BV~5.4. The preliminary announcement appears now to ensure +that Clause~17 (below) is fulfilled even if \BV~5.4 is delivered later than +scheduled. + +The Constitution contains the following clauses: +\begin{quote} +17. \ The annual general meeting of the \ukt\ shall be +held in the United Kingdom not later than the last day of +November +in each year on a date and at a +time to be fixed by the Committee and notified to members +at least 35 days in advance for the +following purposes--- + +(1) to receive from the Committee a report balance sheet and statement of +accounts for the preceding financial year + +(2) to fill the vacancies in the Committee and to appoint auditors for the +ensuing year + +(3) to decide on any motion which may be proposed to the meeting in the +manner provided below + +(4) to fix the entrance fee (if any) and annual subscription + +18. \ Any member desirous of proposing any motion at the +annual general meeting shall give notice in writing to the secretary not +later than 14 days before the date of such meeting + +23. \ No amendment (other than a motion for adjournment) shall be moved to any +motion proposed at any annual or special general meeting unless written notice +of the amendment shall have been sent to the secretary prior to the meeting +\end{quote} + +I think that Clauses 17~(3), 18 and 23 are self-explanatory. + +A draft agenda, covering items~(3) and~(4) will appear in \BV~5.4. In the +meantime, +anyone wishing to propose + any motion to the AGM must send me, in writing, the + text of the proposed motion and their own name and + address, to reach me by 4~October 1995. +If there are any changes to the draft agenda, the final agenda will be sent to +members in the 14 days before the AGM. +%Anyone wishing, at that stage, to move +%any amendment to any motion, must send me, in writing, the +% text of the proposed amendment and their own name and +% address, to reach me by 19 October 1993. + +The chair's term of office ends at this AGM. The following clause +from the constitution describes the procedure which should be followed. +\begin{quote} +11. \ (1) The chair of the group shall be the chair of +the committee + +(2) The chair of the group shall retire after completion of two +consecutive years but shall be eligible for re-election + +(3) Any two members who are individuals may +nominate any member of the group who is an individual +to be the chair in writing to the +secretary not less than two months before the date of retirement + +(4) If there are two or more nominations then the chair +will be decided by a postal ballot by single transferable vote +in which +every member of The UK \TeX\ Users' Group who is an individual +shall be entitled but not obliged to vote +\end{quote} + + Nominations for the chair should be made in writing + and sent to me, to reach me by 18~August 1995. There + is no official nomination form. +If you like, you may use the +forms provided at the end of this notice. Otherwise, what you send + me should contain, clearly and legibly, +\begin{verse} + ---name and address of nominee\\ + ---declaration that (s)he is willing to stand for this + office, signed by the nominee\\ + ---name and address of the nominator\\ + ---statement nominating the nominee, signed by the + nominator\\ + ---name and address of seconder\\ + ---statement in support of the nomination, signed by + the seconder. +\end{verse} + The nominee, nominator and seconder should all be members + of the UK \TeX\ Users' Group, +and the last two should be different from each + other. + +%The present incumbent has indicated that he does not wish to be +%nominated. Two nominations have been received but the committee felt that, +%since many members may not have been aware of the situation and of the +%constitutional closing date for nominations, that this date should be +%extended until 23 September. + + +As for other vacancies on the Committee, +%C.~A.~Rowley will continue as Chair in +%1994--94 and P.~Abbott as Treasurer and Membership Secretary. +Clause~10 of the Constitution implies that +at most~3 members of the present Committee may continue without +being re-elected. +Thus Clause~9 +%As regards the election of Committee members, +implies that there are +at least 8~vacancies to be filled. + +The following parts of Clause~10 describe the procedure for +filling these vacancies: +\begin{quote} +(3) Any two members who are individuals may +%%CAR +nominate any member or members of the group who are individuals +% propose any candidate or candidates +to fill any of +the vacancies by giving at least 7~days notice in writing to the +secretary + +%%CAR +(4) If there are more nominations than vacancies then the membership +will be decided by an election by single transferable vote in which +every member of the \ukt\ who is an individual and is +present at the annual general meeting +shall be entitled but not obliged to vote +%for as +%many candidates as there are vacancies to be filled and no more +\end{quote} + +Nominations for committee members in accordance with the above +sub-clauses are thus being sought. +Written nominations for new committee + members should be sent to me, to reach me by 11~October + 1995. +There + is no official nomination form. If you like, you may use the +forms provided at the end of this notice. Otherwise, what you send + me should contain, clearly and legibly, +\begin{verse} + ---name and address of nominee\\ + ---declaration that (s)he is willing to stand for this + office, signed by the nominee\\ + ---name and address of the nominator\\ + ---statement nominating the nominee, signed by the + nominator\\ + ---name and address of seconder\\ + ---statement in support of the nomination, signed by + the seconder. +\end{verse} + The nominee, nominator and seconder should all be members + of the \ukt\, +and the last two should be different from each + other. + +Once elected, the Committee appoints officers from its membership. +%Your present secretary is retiring (forced to under Clause~10~(1)) and there is +%at present no Publicity person. Anyone with talents for either of these jobs +%is strongly encouraged to stand for election to the Committee. + + In all the above, `in writing' means `on paper', not email. + + Please put `UKTUG' on the outside of the envelope when you +send me any of the above. Otherwise, people may find themselves +elected to the wrong committee. + +My address is +\begin{verse} +School of Mathematical Sciences\\ +Queen Mary and Westfield College\\ +Mile End Road\\ +London E1 4NS +\end{verse} + +\begin{flushright} +R. A. Bailey\\ +Honorary Secretary\\ +\end{flushright} +\end{Article} diff --git a/usergrps/uktug/baskervi/5_3/bailey.tex b/usergrps/uktug/baskervi/5_3/bailey.tex new file mode 100644 index 0000000000..961324c4d5 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/bailey.tex @@ -0,0 +1,1065 @@ +\title{Maths in \protect\LaTeX: Part~5, Getting started on arrays} +%%% +\author[R.~A.~Bailey]{R.~.A.~Bailey\\ +Queen Mary and Westfield College\\University of London} +%%% +%%% here are extra environments that I have used in this article. +%%% I hope that they do not conflict with anything of the editor's. +%%% +%%% +\newcommand{\writer}[1]{{\sc #1}:} +\newcommand{\book}[1]{{\it #1},} +\newcommand{\publish}[2]{{\rm #1, #2,}} +\newcommand{\byear}[1]{{\rm (#1).}} +\newtheorem{preqn}{Exercise} +\newenvironment{qn}{\preqn\rm}{\endpreqn} +%%% Dear Mr Editor, I should like the content of exercises +%%% to come out in what all copy-editors call ROMAN, not in what +%%% Frank Mittelbach calls roman. And this should be irrespective +%%% of the surrounding text. +%%% +\newcommand{\latexword}[1]{{\tt #1}} +%%% and the above should be in typewriter-ordinary IRRESPECTIVE of the +%%% surrounding fonts +%%% +%%% +%%% editor: I have been as generic as I can, but of course you can't +%%% put \verb inside a \newcommand. I have consistently used + as the +%%% delimiter for \verb, except when I needed the + in Maths! +%%% +\newcommand{\lamport}{{\it \LaTeX: A Document Preparation System\/} by Leslie +Lamport} +\newcommand{\shortlamp}{{\it The Manual}} +\let\torl\AllTeX +\newcommand{\phz}{\phantom{0}} +\newcommand{\dfrac}[2]{\displaystyle\frac{#1}{#2}} +\newcommand{\CS}{\mathop{{\rm CS}}\nolimits} +\newcommand{\normof}[1]{{\left\Vert#1\right\Vert}^2} +\newcommand{\littlehead}[1]{\textit{#1}} + +\begin{Article} +\section*{Recall} +This is the fifth part of a sequence of tutorials on typesetting Mathematics in +\LaTeX. The first four appeared in issues~4.4, 4.5, 5.1 and~5.2 of \BV. +The series +includes some things which can be found in \cite{leslie}, but I am +working in more things which, while straightforward and necessary for +Mathematical work, are not in \cite{leslie} or \cite{newleslie}. In this +tutorial and the next +I cover arrays: matrices, tables of data, aligned equations, and other +items with a two-dimensional layout. + +I do not cover the extra array goodies +provided by packages such as Frank Mittelbach's \latexword{array.sty}, David +Carlisle's plethora of array add-ons or the new packages from the American +Mathematical Society. I hope that someone else will write a follow-on article +describing some or all of those, particularly if they can give easier methods +of doing some of the more cumbersome items in this tutorial. + +In case you missed the previous +tutorials, I remind you that +I expect you, the reader, to do some work. Every so +often comes a group of exercises, which you are supposed to do. Use \LaTeX\ to +typeset everything in the exercise except sentences in italics, which are +instructions. If you are not satisfied that you can do the exercise, then tell +me. Either write to me at +\begin{verse} +School of Mathematical Sciences\\ +Queen Mary and Westfield College\\ +Mile End Road\\ +London E1 4NS +\end{verse} +with hard copy of your input and output, +or email me at \mbox{\tt r.a.bailey@qmw.ac.uk} +with a copy of the +smallest possible piece of \LaTeX\ input file that contains your +attempt at the answer. +In either case +I will include a solution in the following issue of \BV: you will remain +anonymous if you wish. + +\addtocounter{section}{7} +\section{Mathematical arrays} +\subsection{Basics} +The \latexword{array} environment is used to set all manner of aligned +Mathematics. A simple example is: +\[ +\begin{array}{l} +\verb+\begin{array}{lrrr}+\\ +\verb+x & 1 & 2 & 5\\+\\ +\verb+x^2 & 1 & 4 & 25 \\+\\ +\verb+\end{array}+ +\end{array} +\quad \qquad +\begin{array}{lrrr} +x & 1 & 2 & 5\\ +x^2 & 1 & 4 & 25 +\end{array} +\] +This array has four columns. The alignment of these columns is shown in the +argument \latexword{lrrr} of the environment. The first column is left-aligned; +the other three are right-aligned. It is also possible to have a centred +column, shown by a~\latexword{c}. Typically columns of Mathematical symbols are +centred, integers are right-aligned and powers of a single symbol are +left-aligned. +>From now on I shall refer to the argument such as \latexword{lrrr} as the +{\em columns specifier}. + +Entries in each row of the \latexword{array} are separated by ampersands. +The end of a row +(except the last one) is shown by \verb+\\+. If the last few entries in a row +are blank there is (usually) no need to put in all the ampersands. + +The \latexword{array} environment can be used only in Maths mode. All its +entries are automatically in Maths mode, in \verb+\textstyle+. +If you have fractions or summations in an array you may want to precede them by +\verb+\displaystyle+. + +Each entry is in a separate `box', +which is typeset before the array is built up. Thus switches such as +\verb+\bf+, \verb+\displaystyle+ and \verb+\raggedright+ extend no further than +the end of the current entry. If a binary relation or operator, such as~$=$ +or $+$, occurs at the beginning or end of an entry \torl\ cannot give it the +proper spacing relative to the previous or succeeding entry. + +\subsection{Matrices and vectors} +The most obvious use for \latexword{array} is for a matrix. Use \verb+\left+ +and \verb+\right+ to surround the matrix with fences of the right size. +For example, the matrix in Figure~\ref{mv} begins +\begin{verbatim} + \left( + \begin{array}{rrr} +\end{verbatim} + +\begin{figure*} +\begin{minipage}{.5\textwidth} +\[ +\left( +\begin{array}{rrr} +2 & -1 & -1\\ +-1 & 3 & -1\\ +-1 & -1 & 4 +\end{array} +\right) +\left( +\begin{array}{r} +5\\-3\\8 +\end{array} +\right) + = +\left( +\begin{array}{r} +5\\-22\\30 +\end{array} +\right) +\] +\caption{A matrix equation} +\label{mv} +\end{minipage} +\begin{minipage}{.5\textwidth} +\[ +\renewcommand{\arraystretch}{2} +\det \left [ +\begin{array}{cccc} +\dfrac{\partial h_1}{\partial y_1} & \dfrac{\partial h_1}{\partial y_2} & + \cdots & \dfrac{\partial h_1}{\partial y_n}\\ +\dfrac{\partial h_2}{\partial y_1} & \dfrac{\partial h_2}{\partial y_2} & + \cdots & \dfrac{\partial h_2}{\partial y_n}\\ +\vdots & \vdots &\ddots & \vdots\\ +\dfrac{\partial h_n}{\partial y_1} & \cdots & \cdots & + \dfrac{\partial h_n}{\partial y_n} +\end{array} + \right] +\] +\caption{The Jacobian of~$h$} +\label{jacob} +\end{minipage} +\end{figure*} + +The commands \verb+\vdots+ and \verb+\ddots+ are useful in matrices. They are +both used in Figure~\ref{jacob}. + + +An array can have a single column, as in the column vectors in Figure~\ref{mv}, +or a single row, which is useful for a permutation or a row vector. + +\subsection{Arrays of arrays} +Try to think logically, rather than visually, about the contents of an array. +For example, if you have six $5\times 5$ Latin squares set out in a $2 \times +3$ rectangle then you might think that you have $10~$rows and $15$~columns. +However, it is more logical to do \verb+\begin{array}{ccc}+ and then make each +entry in this array a new array with five centred columns. One advantage of +this approach is that it makes editing +the file much easier when you decide to +change the order of the Latin squares, or to lay them out in a $3\times 2$ +rectangle. + +\subsection{Changing the row spacing} +The default spacing between the rows of an \latexword{array} is fine for simple +matrices with numbers in, but is often insufficient for large entries, +particularly if you use \verb+\displaystyle+. To adjust the amount of space +after the current row, put an explicit length in square brackets after the +\verb+\\+: for example, \verb+\\[20pt]+. + +I find it useful to work in multiples +of \verb+\jot+: this length is the usual extra space between lines of displayed +Mathematics. Curiously, \verb+\jot+ is equal to $3$~points in all of \LaTeX's +three point sizes, so an adjustment in a $10$~pt document may not be correct if +you change the document to $11$~pt. If you work in multiples of +the length \verb+\baselineskip+ +then no extra adjustment is needed if the point size of the +document is changed. + +Because of the complicated way in which the row-spacing in an array is adjusted +to fit the contents, the length given in \verb+[ ]+ is not exactly an {\em +addition}. You have to experiment to find out what works best: doubling the +length given does not usually double the space between the rows. + +The existence of this optional length parameter to \verb+\\+ implies that no row +of an array may start with \verb+[+. If you need to do this, +precede it with an emtpy pair of braces: \verb+{}[...+. + +Changing the inter-row spacing for the whole array is much simpler than +changing it for a single row. This spacing is governed by the value of the +number +\verb+\arraystretch+, whose default setting is~$1$. +Between the rows of an array, the length \verb+\baselineskip+ is multiplied by +\verb+\arraystretch+. +In Figure~\ref{jacob}, +the rows have been spread out by putting +\begin{verbatim} + \renewcommand{\arraystretch}{2} +\end{verbatim} +before the \verb+\begin{array}+. However, this command was given {\em after\/} +the start of the displayed Maths, so that it remained local to that particular +display. If you experiment with other values of \verb+\arraystretch+ in this +example you will find that there is virtually no separation between the first +two rows when \verb+\arraystretch+ is smaller than~$2$. +Figure~\ref{ima} also shows an array in which \verb+\arraystretch+ +has been altered. + +Arrays inside arrays can have different values of \verb+\arraystretch+. +For example, in +\begin{verbatim} + \[ + \renewcommand{\arraystretch}{2} + \begin{array}{ccc} + A & B & + \renewcommand{\arraystretch}{1.2} + \begin{array}{lr} + ... +\end{verbatim} +the outer array has \verb+\arraystretch+ equal to~$2$, while the inner +array which is the third entry in the first row +has \verb+\arraystretch+ equal to~$1.2$. + +\begin{figure*} +\[ +\renewcommand{\arraystretch}{2} +\addtolength{\arraycolsep}{1.5\arraycolsep} +\begin{array}{cccp{1.5in}c} +W_{1_G} & V_0 & 1 & one stratum\\ +W_\psi &\left(V_{\rm rows} + V_{\rm cols} \right) \cap V_0^\perp & +2(q^2 + q) & +\raggedright +direct sum of two +unidentifiable strata +& +\\ +W_\eta &\left(V_{\rm rows} + V_{\rm cols} \right) ^\perp & q^3 & one stratum +\end{array} +\] +\caption{A table of mathematical information} +\label{ima} +%This gives four candidates for automorphisms: +\[ +\begin{array}{l@{\colon p + q\omega + r \omega^2 + +s\omega^3 + t\omega^4 \mapsto p + +{}}r@{\omega + {}}r@{\omega^2 + {}}r@{\omega^3 + {}}r@{\omega^4}} +\alpha_1 & q & r & s & t\\ +\alpha_2 & s & q & t & r\\ +\alpha_3 & r & t & q & s\\ +\alpha_4 & t & s & r & q +\end{array} +\] +\caption{Four automorphisms of a splitting field} +\label{galois} +\end{figure*} + +\subsection{Changing the column spacing} +The default inter-column spacing in an array is one quad. To change the spacing +between a pair of adjacent columns, use \verb+@{...}+ between their alignment +codes in the columns specifier, putting inside the braces +the actual horizontal space +required. For example, +\verb+\begin{array}{cc@{\qquad}c@{}c}+ +produces an array with four centred columns in which the inter-column spaces +are, in order, one quad, two quads and zero. + +At the start and end of the array there is usually a space of width half the +inter-column space. These can be suppressed by putting \verb+@{}+ at the start +and end of the columns specifier. + +The overall inter-column spacing is controlled by the value of the length +\verb+\arraycolsep+, which is half the default inter-column space. +This can be changed by using \verb+\addtolength+ in the +usual way. I like to alter \verb+\arraycolsep+ by multiples of itself. +%, so that +%the changes are correct no matter what the point size of the document. +For example, to treble the size of \verb+\arraycolsep+ do +\begin{verbatim} + \addtolength{\arraycolsep}{2\arraycolsep} +\end{verbatim} +while to halve it make the last parameter \verb+-0.5\arraycolsep+. +In Figure~\ref{ima}, \verb+\arraycolsep+ has been multiplied by~$2.5$. + +Finally, the command \verb+\extracolsep+ inside an \verb+@{...}+ +can be used to insert extra space to the left of all subsequent columns: +for example, \verb+@{\extracolsep{1em}}+. This is not suppressed by a +subsequent \verb+@{...}+. + +My remarks about quads above are not strictly true unless your current text font +is Computer Modern roman in $10$~pt. A quad length is defined to be $1$~em, +whose size depends on the current font, whereas \verb+\arraycolsep+ is defined +to be $5$~pt, irrespective of the point size of the document. I find it very +odd that \LaTeX, which has been so carefully set up so that the user can +apparently change painlessly +between $10$~pt, $11$~pt and $12$~pt, does not change the +size of Maths lengths like \verb+\jot+ and \verb+\arraycolsep+ in the different +point sizes. + +\subsection{Words in arrays} +The odd word or two in an array can be put in by using \verb+\mbox+. But what +should you do when you have a verbal phrase extending over more than one line, +as in the final column of Figure~\ref{ima}? + +Most people's first thought is to have a separate line of the array for each +line of text. As usual, this visual approach is inferior to the logical one +when it comes to revising your file. Hard experience has shown me that you have +to keep altering which words go on which lines as you alter other parts of the +array. It is better to use the fourth type of column code~\verb+p+, which +creates a paragraph box of a specified width. Thus the +columns specifier in Figure~\ref{ima} is actually +\verb+cccp{1.5in}+. Just guess a length to put inside +\verb+p{...}+ at first: changing it later is much simpler than shuffling words +around. + +Figure~\ref{ima} demonstrates another good reason to use the \verb+p+ code. +The rows are far apart, because \verb+\arraystretch+ has been magnified. But we +{\em don't\/} want the lines of text at the end of the second row to be that +far apart. We could make an inner array with a smaller value of +\verb+\arraystretch+, but it's simpler to use~\verb+p+. + +The only problem with the naked \verb+p+ columns is that they are set +justified on both sides, which is absurd in narrow columns. I usually put +\verb+\centering+ or \verb+\raggedright+ at the beginning of every entry in +such a column. Unfortunately, you cannot do this in the final column of an +array, because \LaTeX\ gets confused about whether \verb+\\+ refers to the row +of the array or the line in the paragraph. If necessary, I get round this by +adding a dummy unused column at the end of the array. Thus I told a lie above: +the columns specifier in Figure~\ref{ima} is really +\verb+cccp{1.5in}c+. + +\subsection{Inter-column constants} +The code \verb+@{...}+ can be used for putting anything between two columns +that must appear in every row, not just spaces. This is convenient for any +repeated items. For example, the columns specifier in +Figure~\ref{galois} is +\begin{verbatim} + {l@{\colon p + q\omega + r \omega^2 + + s\omega^3 + t\omega^4 \mapsto p + + {}}r@{\omega + {}}r@{\omega^2 + + {}}r@{\omega^3 + {}}r@{\omega^4}} +\end{verbatim} +while the first row is just +\begin{verbatim} + \alpha_1 &q & r & s & t +\end{verbatim} +Notice the pairs \verb+{}+ that have been inserted to make $+$ behave +as a binary operator. + + +\subsection{Positioning} +By default, each array is positioned so that it is centred vertically. In +Figure~\ref{mv}, the equals sign is aligned with the centre of each of the +three arrays. To align an array on its top row, start it with +\verb+\begin{array}[t]{...}+; +to align it on its bottom row, use \verb+[b]+ in place of \verb+[t]+. + +These positionings work well for simple tables of numbers. However, the +logical interaction between them and \verb+\left+ and \verb+\right+ fences +produces bizarre results (try it!). If you want matrices aligned on their top +rows, as in Figure~\ref{topmat}, you have to do something quite complicated, +which I shall come back to later. + +\begin{figure*} +\newcommand{\topthing}[1]{\begin{array}{@{}c@{}}#1\\\phz\end{array}} +\newcommand{\vecmu}{\mbox{\boldmath$\mu$}} +\newcommand{\vecx}{{\bf x}} +\[ +\topthing{3(\vecx - \vecmu)^{\rm T} \Sigma^{-1} (\vecx - \vecmu) = (x-1,y+2)} +\left[\begin{array}{rr} +4&1\\1&1 +\end{array} +\right] +\left(\begin{array}{c} +x-1\\y+2 +\end{array} +\right) +\] +\caption{Matrices aligned on their top rows} +\label{topmat} +\end{figure*} + +\subsection{Cases} +We often write equations where the value on the right-hand side depends on some +condition, as in +%The $(\omega,t)$-entry of~$X$ is defined by +\begin{equation} +X(\omega,t) = \cases{1 & if $\phi(\omega) = t$\cr + 0 & otherwise.} +\label{eqncase} +\end{equation} +You can do the right-hand side of this using an \latexword{array}, but it is +simpler to use the direct plain \TeX\ command \verb+\cases+. The right-hand +side of Equation~(\ref{eqncase}) was produced with +\begin{verbatim} + \cases{1 & if $\phi(\omega) = t$\cr + 0 & otherwise.} +\end{verbatim} +The argument of \verb+\cases+ is like a two-column array, with its rows +separated by \verb+\cr+ instead of \verb+\\+. The first entry in each row is in +Maths mode; the second is in non-Maths mode. Both +columns are left-aligned. + +\subsection{Binomial coefficients} +If you write your binomial coefficients as +$6 \choose 2$ rather than ${}^6{\rm C}_2$ +you may be tempted to build them with an +\latexword{array}. Don't. Use the plain \TeX\ infix command \verb+\choose+, as +follows. +\[ +\verb+6 \choose 2+ \quad \qquad {6 \choose 2} +\] +It comes out rather differently in \verb+\textstyle+ and in +\verb+\displaystyle+. + +Because \verb+\choose+ does not have its two arguments in braces, it is +safest if you enclose the whole expression in grouping braces, as in +\verb+{6 \choose 2}+, to ensure that \verb+\choose+ does not search too far +back or too far forward for its arguments. +If you need to use this a lot, make a \LaTeX-style macro such as +\begin{verbatim} + \newcommand{\binom}[2]{{#1\choose#2}} +\end{verbatim} + + +The command \verb+\atop+ works similarly, but omits the parentheses. + +\section*{Exercises} +\addtocounter{preqn}{54} +\begin{qn} +The matrix $\left[\begin{array}{cc} +1 & 3\\ +3 & 5 +\end{array} +\right]$ +is symmetric. +\end{qn} + +\begin{qn} +The determinant is given by +\[ +\det A = \left | +\begin{array}{ccc} +a_{11} & \ldots & a_{1n}\\ +\vdots & \ddots & \vdots\\ +a_{n1} & \ldots & a_{nn} +\end{array} +\right| +\] +\end{qn} + +\begin{qn} +For a rotation, +\[ +\left(\begin{array}{rr} +\cos \theta & \sin \theta\\ +-\sin \theta & \cos \theta +\end{array} +\right) +\left(\begin{array}{c}x \\ y\end{array}\right) + = +\left(\begin{array}{c} +x\cos \theta + y\sin \theta\\ +y\cos\theta - x\sin\theta +\end{array} +\right). +\] +\end{qn} + +\begin{qn} +Here is a pair of mutually orthogonal Latin squares: +\[ +\begin{array}{cc} +\begin{array}{ccc} +A & B & C\\ +B & C & A\\ +C & A & B\\ +\end{array} +& +\begin{array}{ccc} +\alpha & \beta & \gamma\\ +\gamma & \alpha & \beta\\ +\beta & \gamma & \alpha +\end{array} +\\ \\ +\mbox{Square 1} & \mbox{Square 2} +\end{array} +\] +\end{qn} + +\begin{qn} +A few real functions: +\[ +\begin{array}{lp{2in}c} +x \mapsto x^2 & \raggedright differentiable everywhere & \\ +x \mapsto \left| x\right | & \raggedright +differentiable everywhere except at the origin &\\ +x \mapsto \lfloor x \rfloor & \raggedright +continuous everywhere except at the integers +\end{array} +\] +\end{qn} + +\begin{qn} +\it Typeset the table in Figure~\ref{ima}. +\end{qn} + +\begin{qn} +\addtolength{\arraycolsep}{-0.5\arraycolsep} +Pascal's Triangle begins +\[ +\begin{array}{*{13}{c}} + & & & & & & 1 & & & & & & \\ + & & & & & 1 & & 1 & & & & & \\ + & & & & 1 & & 2 & & 1 & & & &\\ + & & & 1 & & 3 & & 3 & & 1 & & &\\ + & & 1 & & 4 & & 6 & & 4 & & 1 & &\\ + & 1 & & 5 & & 10 & & 10 & & 5 & & 1 &\\ + 1 & & 6 & & 15 & & 20 & & 15 & & 6 & & 1 +\end{array} +\] +\end{qn} + +\begin{qn} +The Stirling numbers of the second kind are defined by +\[ +S(n,k) = \frac{1}{k!} \sum_{j=1}^{k} (-1)^{k-j} {k \choose j} j^n. +\] +\end{qn} + +\begin{qn} +If the random variable $X$ is symmetric about~$0$ and if $Y = X^2$ then +\[ +f_Y(y) = \cases{ 0 & if $y \leq 0$ \cr + \dfrac{f_X(\sqrt{y})}{\sqrt{y}} & if $y > 0$.} +\] +\end{qn} + +\begin{qn} +\[ +\left[ +\begin{array}{cccc} +\sigma_{11} & \sigma_{12} &\cdots & \sigma_{1n}\\ +\sigma_{21} & \sigma_{22} &\cdots & \sigma_{2n}\\ + \vdots & \cdots & \ddots& \vdots\\ +\sigma_{1n} & \cdots & \cdots & \sigma_{nn} +\end{array} +\right] +\] +\end{qn} + +\begin{qn} +\[ +\begin{array}{ccccccccc} +M_0 & \subseteq & M_1 & \subseteq & M_2 & \subseteq & \cdots & \subseteq & +M_m\\ +\uparrow && \uparrow && \uparrow\\ +\mbox{null} && \mbox{linear} && \mbox{quadratic} +\end{array} +\] +\end{qn} + +\section{Tables of data} +\subsection{General} +The extra topics +that I cover in this section are most pertinent to tables of data, but do +sometimes arise in Mathematical arrays. Likewise, +many considerations about Mathematical arrays also apply to tables of data. +For example, the table in Figure~\ref{eel} does not really have eight columns: +it has two long columns but has been broken down into four parts to fit on the +page nicely. So it is set as an array with one row and four +columns, each of whose entries is an array with two columns. + +\LaTeX\ has another environment, called \latexword{tabular}, which is very +similar to \latexword{array}. It may be used inside or outside Maths mode. By +default, each of its entries is set in ordinary mode. However, any +extra space on either side of the ampersands has no effect. +The length \verb+\arraycolsep+ is replaced by the length +\verb+\tabcolsep+. +Tables of data often have +a mix of words and symbols, and you have to decide which is less trouble: using +an \latexword{array} and putting the words in \verb+mbox+es or +\verb+p+~columns, or using a \latexword{tabular} and putting the symbols in +\verb+$...$+. If the latter, don't forget to put numbers in \verb+$...$+ if +they involve a minus sign. + +\begin{figure*} +\[ +\begin{tabular}{c|c|c|c} +\begin{tabular}{cc} +Year 1 & Year 2\\ +\hline +269 & 466\\ +100 & 219\\ +197 & 421\\ +216 & 708\\ +\end{tabular} +& +\begin{tabular}{cc} +Year 1 & Year 2\\ +\hline +134 & 590\\ +\phz 74 & 137\\ +\phz 88 & 356\\ +\phz 25 & 212 +\end{tabular} +& +\begin{tabular}{cc} +Year 1 & Year 2\\ +\hline +211 & 505 \\ +102 & 363\\ +191 & 563\\ +\phz 67 & 338\\ +\end{tabular} +& +\begin{tabular}{cc} +Year 1 & Year 2\\ +\hline +209 & 352\\ +\phz 29 & 254\\ +\phz 19 & 106\\ +\phz 44 & 268 +\end{tabular} +\end{tabular} +\] +\caption{Number of eelworms in two successive years} +\label{eel} +\end{figure*} + +\subsection{Horizontal rules} + +\begin{figure*}[hbtp] +\[ +\begin{tabular}{l@{\qquad}l@{\qquad}lrrrrrrrrr} +\hline + & & & \multicolumn{3}{c}{1961} & \multicolumn{3}{c}{1971} & +\multicolumn{3}{c}{1981}\\ +\hline +\multicolumn{3}{l}{Billion passenger kilometres travelled by:}\\ + & \multicolumn{2}{l}{Air} && 1 &&& 2 &&& 3&\\ + & \multicolumn{2}{l}{Rail} && 39 &&& 36 &&& 34&\\ + & \multicolumn{2}{l}{Road}\\ + & & Buses and coaches && 67 &&& 51 &&& 42&\\ + & & Cars, taxis and two-wheeled motor vehicles && 142 &&& 284 &&& 380&\\ + & & Bicycles && 10 &&& 4 &&& 4&\\ +\cline{4-12} + & \multicolumn{2}{l}{Total} && 259 &&& 377 &&& 406&\\ +\hline +\end{tabular} +\] +\caption{Passenger transport (from \protect\cite{keyd})} +\label{cars} +\end{figure*} + +To obtain a horizontal rule stretching the full width of the array, use +\verb+\hrule+. Don't forget to finish the previous row with \verb+\\+, even if +it is the last row of the array, as at the end of Figure~\ref{cars}. Two or +more \verb+\hrule+s can follow each other with no intervening \verb+\\+. +A little vertical space is put between two such horizontal rules. +However, any vertical rules in the array (see below) will be suppressed between +the successive horizontal rules. + +For a horizontal rule spanning only columns \mbox{$2$--$4$}, say, use +\verb+\cline{2-4}+. Again, finish the preceding row with \verb+\\+. +Figure~\ref{cars} shows an example of this. +Successive +\verb+\cline+s will be interpreted as being in the same row, as in +\verb+\cline{2-4}\cline{7-7}+, for example, so that +\verb+\cline{2-4}\cline{2-4}+ does {\em not\/} produce two horizontal lines +with a little space between them. Likewise, there is no space between an +\verb+\hline+ and an immediately preceding or succeeding \verb+\cline+. + +\subsection{Vertical rules} + +A vertical rule is obtained by putting \verb+|+ at the appropriate place in the +columns specifier. For example, the columns specifier for the +\latexword{tabular} in Figure~\ref{travel} is +\begin{verbatim} + |r@{ Month}l@{\quad\pounds}r| +\end{verbatim} +Two or more \verb+|+s may come next to each other. + +\begin{figure*} +\begin{minipage}{.5\textwidth} +\[ +\begin{tabular}{|r@{ Month}l@{\quad\pounds}r|} +\hline +\multicolumn{3}{|c|}{Premiums}\\ +\hline +1 & & 18\\ +3 & s & 48\\ +6 & s & 95 \\ +9 & s & 136\\ +\hline +\end{tabular} +\] +\caption{Travel insurance} +\label{travel} +\end{minipage} +\begin{minipage}{.5\textwidth} + +\[ +\begin{tabular}{lr@{}l} +Bootstrap & 0.301\\ +Jackknife & 0.314\\ +Delta method & 0.244& *\\ +Half-samples & 0.364 & \dag\\ +Random subsampling & 0.423 & \ddag\\ +Normal theory & 0.302 +\end{tabular} +\] +\caption{Sticking out to the right (from \protect\cite{brad})} +\label{efron} +\end{minipage} +\end{figure*} + +For a vertical rule in a single item, stretching from the top to bottom of its +row, use \verb+\vline+. This cannot be used in a \verb+p+~column, but may be +put inside \verb+@{...}+. + +If you omit the trailing ampersands in a row with few items the trailing +vertical rules will also be omitted. This can be a nuisance in a sparse table. +If you want a vertical rule at each side of a sparse table, consider doing +this: +\begin{verbatim} + \begin{array}{|c|} + \begin{array}{@{}...@{}} + ... + \end{array} + \end{array} +\end{verbatim} + +The length \verb+\arrayrulewidth+ controls the thickness of all the horizontal +and vertical rules just described. The width of the space between the vertical +rules created by \verb+||+ in a the columns specifier is controlled by the +length \verb+\doublerulesep+, as is the vertical space between two successive +\verb+\hline+s. + +\subsection{Spanning several columns} +The \verb+\multicolumn+ command is used to create an entry spanning several +columns. It takes three arguments. The first is the number of columns to be +spanned; the second is the code for the type of column to be used; +the third is the text of the entry. +\begin{verbatim} + \begin{tabular}{crrrr} + Type & \multicolumn{4}{c}{Grade}\\ + \cline{2-5} + & 12 & 16 & 24 & 30\\ + \hline + $A$ & 0 & 1 & 21 & 24\\ + $B$ & 1 & 6 & 24 & 13 + \end{tabular} +\end{verbatim} +\[ +\begin{tabular}{crrrr} +Type & \multicolumn{4}{c}{Grade}\\ +\cline{2-5} + & 12 & 16 & 24 & 30\\ +\hline +$A$ & 0 & 1 & 21 & 24\\ + $B$ & 1 & 6 & 24 & 13 +\end{tabular} +\] + +Any \verb+|+ in the columns specifier is +regarded as belonging to its preceding column, and may be overwritten by +\verb+\multicolumn+ unless it is included in the second argument. The exception +is any \verb+|+ to the left of the first column, which is regarded as part of +the first column. +For example, the first row in Figure~\ref{travel} is +\begin{verbatim} + \multicolumn{3}{|c|}{Premiums}\\ +\end{verbatim} +Expressions \verb+@{...}+ in the columns specifier are similarly assigned to +columns and similarly overwritten. + +Indented row labels for subheadings can also be conveniently obtained by using +\verb+\multicolumn+. The \latexword{tabular} in Figure~\ref{cars} begins with +three \verb+l+~columns. The first row after the second horizontal rule is a +\verb+\multicolumn+ spanning three columns; the next begins with \verb+&+ +followed by a +\verb+\multicolumn+ spanning two columns. + +Unfortunately, if the width of a multicolumn entry spanning three or more +columns is more than the total width of the spanned columns, \LaTeX\ cannot +adjust the spacing between those columns to make it equal: it puts all the +extra space to the left of the last of the spanned columns. The only way that +I know +around this is to use \verb+@{...}+ to put the same amount of extra space +between each adjacent pair of the spanned columns. + +\subsection{Changing the type of an entry} +Although its name does not suggest it, the command +\verb+\multicolumn+ is also used to +change the type of a single entry. This is most often used to give a centred +heading to a column of right-aligned data. +\begin{verbatim} + \begin{array}{rrr} + \multicolumn{1}{c}{n} & + \multicolumn{1}{c}{n^2} & + \multicolumn{1}{c}{\phi(n)}\\ + 9 & 81 & 6\\ + 10 & 100 & 4\\ + 11 & 121 & 10 + \end{array} +\end{verbatim} +\[ +\begin{array}{rrr} +\multicolumn{1}{c}{n} & \multicolumn{1}{c}{n^2} +& \multicolumn{1}{c}{\phi(n)}\\ +9 & 81 & 6\\ +10 & 100 & 4\\ +11 & 121 & 10 +\end{array} +\] +As this example shows, this works fine when the centred heading is narrower +than the widest other entry in the column. However, when it is wider then all +the other entries in the column are aligned with its right-hand edge, when +probably what you wanted was to have them right-aligned among themselves and +then all centred under the heading. +How can this be fixed? + +If most of the numbers are the same length, a reasonable solution is to make the +whole column centred and put in \verb+\phantom{0}+s to make the shorter numbers +as long as the longest. This works because all digits have the same width. + That is what I did in Figure~\ref{eel}. + +I adopted a different solution in Figure~\ref{cars}, where I decided that the +year headings, not being numbers to be added to other numbers in their columns, +should be centred. This time I used the columns specifier \verb+rrr+ for each +column of data. In the headings I used \verb+\multicolumn{3}{c}{...}+ and in +the data rows I left one blank entry either side of each data entry. The result +is rather widely spaced: space could be saved by using \verb+@{...}+ between +each data column and its blank neighbours. + +The command +\verb+\multicolumn{1}+ can also be used to remove a vertical rule or the +contents of an \verb+@{...}+ from one particular row. For example, if the +columns specifier is \verb+l|r+ then the vertical rule is missing from any row +whose first entry is made with \verb+\multicolumn{1}{l}+. + +\subsection{Decimal tabulation} +Sometimes a column of numbers with decimal points should be aligned +on those decimal points. If they all have the same number of digits after the +point, there is no problem: simply use an \verb+r+ column. If only a few numbers +are missing a few digits after the point, fill in the spaces with +\verb+\phantom{0}+ and still use an \verb+r+ column. Only if you have a long +column of numbers with very variable numbers of digits after the point is it +worth going to the trouble of using the columns specifier \verb+r@{.}l+ and +entering a number such as 3.142 as \verb+3 & 142+. + +\subsection{Things that stick out} +Sometimes you have a column of numbers that should be right-aligned but some of +the entries have accretions that should stick out to the right, as in +Figure~\ref{efron}, or a left-aligned column with pieces sticking out to the +left. There are three ways of dealing with this, each appropriate in different +circumstances. + + +If the pieces that stick out are all digits, use \verb+\phantom{0}+ as +described above. + +Sometimes the piece that sticks out is very small and occurs in only one row. +If a displayed Mathematical array ends the sentence +then sometimes the full stop needs to +come outside the array, vertically centred (with \verb+\end{array}.\]+); but +sometimes the final row of the array +needs a full stop at the end of it without upsetting the column alignment. +Then the trick is to add the full stop in such a way that \torl\ thinks that it +doesn't take up any space. According to \cite[page~98]{leslie}, you do this +with +\verb+\makebox[0pt][l]{.}+, but the plain \TeX\ \verb+\rlap{.}+ is shorter and +achieves the same effect. For a small item sticking out on the left use +\verb+\makebox[0pt][r]{ }+ or \verb+\llap{ }+. Of course, the content of +\verb+\makebox{ }+ or \verb+\rlap+ or \verb+\llap+ is not in Maths mode. + +Statisticians sometimes put a question mark to indicate dubious data, and +scientists often decorate numbers with stars to show statistical significance. +In such cases it is best to use the columns specifier \verb+r@{}l+ for the +column: the \verb+r+ part is used for the numbers and the \verb+l+ part is used +for any decorations. +In Figure~\ref{efron} the columns specifier is \verb+lr@{}l+ and +the fourth line is +\begin{verbatim} + Half-samples & 0.364 & \dag\\ +\end{verbatim} + +To see the difference between these last two solutions, compare the following. +\begin{center} +$ +\begin{array}{ll} +\begin{array}{l} +\verb+\begin{array}{|r@{}l|}+\\ +\verb!20 & ++!\\ +\verb+\end{array}+ +\end{array} +& +\begin{array}{|r@{}l|} +20 & ++ +\end{array} +\\ \\ +\begin{array}{l} +\verb+\begin{array}{|r|}+\\ +\verb!20 \rlap{$++$}!\\ +\verb+\end{array}+ +\end{array} +& +\begin{array}{|r|} +20 \rlap{$++$} +\end{array} +\end{array} +$ +\end{center} + +\subsection{Columns specifiers} +We have seen that a columns specifier is a string of the following objects: +\verb+r+, \verb+l+, \verb+c+, \verb+p{...}+, \verb+@{...}+ and \verb+|+. It is +easy to lose track when setting up the column specifier for a complicated +array. However, repeated elements may be simplified by using \verb+*+. Thus an +array with $15$~centred columns can be specified with \verb+*{15}{c}+. This +shorthand is really advantageous for something complicated like +\verb+l|*{4}{r@{}lrr|}+. Moreover, \verb+*+~expressions can be nested within +each other. + +\section*{Exercises} +\begin{qn} +\renewcommand{\arraystretch}{1.6} +\[ +\begin{array}{c|ccccc} +\multicolumn{6}{c}{\mbox{Values of $\nu_{\gamma\chi}$ for the design}}\\ +\hline +\gamma & \chi_0 & \chi_1 & \chi_2 &\chi_3 & \chi_4\\ +\hline +\mu & 1 & 0 & 0 & 0 & 0 \\ +\sigma & 1 & 0 & 0 & 0 & 0\\ +\rho & 1 & 0 & 0 & \frac{1}{4} & 0\\ +\kappa & 1 & \displaystyle\frac{3 + e_2 - e_1}{36} & +\displaystyle\frac{3 + e_4 - e_2}{36} & 0 & +\displaystyle\frac{3 + e_1 - e_4}{36}\\ +\varepsilon & 1 & 1 & 1 & 1 & 1\\ +\hline +\end{array} +\] +\end{qn} + +\begin{qn} +Table of results: +\[ +\begin{array}{l|cc|r} + & B_1 & B_2\\ +\hline +A_1 & 37 & \phz53 & 90\\ +A_2 & 41 & \phz48 & 89\\ +\hline + & 78 & 101 & 179 +\end{array} +\] +\end{qn} + +\begin{qn} +\it Typeset the table in Figure~\ref{eel}. +\end{qn} + +\begin{qn} +\[ +\begin{array}{lrrrr@{.}l} +\mbox{Source} & \mbox{df} & \multicolumn{1}{c}{\mbox{SS}} & +\multicolumn{1}{c}{\mbox{MS}} & \multicolumn{2}{c}{\mbox{VR}}\\ +\hline +x_1 & 1 & 104474 & 104474 & 1220 & 5\\ +x_2 \mid x_1 & 1 & 2284 & 2284 & 26 & 68\\ +\cline{1-3} +\mbox{regression} & 2 & 106758\\ +\mbox{residual} & 15 & 1284 & 85.6\\ +\cline{1-3} +\mbox{`total'} & 17 & 108042 +\end{array} +\] +\end{qn} + +\begin{qn} +\it Typeset the table in Figure~\ref{cars}. +\end{qn} + +\begin{qn} +\[ +\begin{tabular}% +{||r@{ }l|r@{}l|cr@{}lc|@{}c@{\hspace{\arraycolsep}\pounds}r||} +\multicolumn{2}{||c|}{Date} & \multicolumn{2}{c|}{Miles} & +\multicolumn{4}{c|}{Gallons} & \multicolumn{2}{c||}{Cost}\\ +\hline +27 & December & 46674 & && 4 & .18 &&& 5.56\\ +3 & January & 46038 & & &3 & .93 && &5.00\\ +6 & January & 47956 & ? && 7 & .1 && &10.50\\ +10 & January & 47292 & && 7 & .89&& & 10.50\\ +17 & January & 47464 &&& 4 & &&&5.00\\ +\multicolumn{10}{||c||}{\dotfill}\\ +3 & February & 48112 &&& 6 & .88 &&& 9.00 +\end{tabular} +\] +\end{qn} + +\begin{thebibliography}{9} +\bibitem{keyd} +\writer{Central Statistical Office} +\book{Key Data 1986} +\publish{Her Majesty's Stationery Office}{London} +\byear{1986} + +\bibitem{brad} +\writer{Efron,~B.} +\book{The Jackknife, the Bootstrap and Other Resampling Plans} +\publish{Society for Industrial and Applied Mathematics}{Philadelphia} +\byear{1982} + +\bibitem{leslie} +\writer{Lamport,~L.} +\book{\LaTeX: A Document Preparation System} +first edition, +\publish{Addison-Wesley}{Reading, Mass.} +\byear{1986} + +\bibitem{newleslie} +\writer{Lamport,~L.} +\book{\LaTeX: A Document Preparation System} +second edition, +\publish{Addison-Wesley}{Reading, Mass.} +\byear{1994} + +\end{thebibliography} +\end{Article} + + diff --git a/usergrps/uktug/baskervi/5_3/barron.tex b/usergrps/uktug/baskervi/5_3/barron.tex new file mode 100644 index 0000000000..224f7d2320 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/barron.tex @@ -0,0 +1,175 @@ +\title{Portable Documents: Why Use SGML?} +\author[David Barron]{David Barron\\ +Department of Electronics and Computer Science\\ +University of Southampton} +\begin{Article} +\section{Introduction} +In this article we present a few ideas as a framework for the +discussion of portable documents. We address a number of questions: +\begin{itemize} +\item What are portable documents? +\item Who needs them, and why? +\item How to produce them, now and in the future +\end{itemize} + +\section{Documents} +Traditionally, a document was a file (or a deck of cards), +and consisted solely of text. +Today, documents are typically {\em compound}, a +mixture of text and graphics (bit-map or line art) that can be +rendered on paper or screen. Additionally, they may include +hypertext links (in which case they can only be viewed on screen). +A recent development is the ability to incorporate video +and sound in a compound document, either embedded +within the document or linked by a pointer: +such a document is a {\em multimedia} document. Hypertext-style links +may also be included to form a {\em hypermedia} document: evidently, +multimedia and hypermedia documents can only be `read' on a suitably +equipped computer system. + +World Wide Web (WWW) documents are a special case of +compound hypermedia documents +where the links are to other documents elsewhere on the Internet +They can be regarded as virtual documents, in the sense that the +whole document never exists as a single identifiable object. +More generally, we can define a {\em virtual document} as +a structured collection of information from which instances of +documents and other resources can be derived. Examples include: +\begin{itemize} +\item The Oxford English Dictionary which exists as a database +from which are derived various printed editions (Shorter, Concise, +Pocket etc.), as well as the CD-ROM version +\item Critical editions of a literary text, where a single source +`document' contains all the variations, and can be printed out using +different variants as the base text +\end{itemize} + +\section{Portability} +The definition of portability that we shall use in this discussion is +the ability to transmit the document digitally (over a network, +or on a disk or CD-ROM) and re-create a faithful rendering of the document +after transmission, if need be +on a different hardware and/or software platform +from that on which the document was originally created. +It is important to observe that there are three different forms in +which the text and graphics in a document might be re-created: +\begin{itemize} +\item with absolute visual fidelity +\item with approximate visual fidelity +\item retaining content only +\end{itemize} + +\section{Who needs portable documents, and why?} + +Three different needs for portable documents can be adduced +\begin{enumerate} +\item Publishers need them in order to distribute electronic +books and journals +\item Communities with common interests +who need to share information need them. An example is a +scientific research community whose members use diverse hardware and +software +\item Librarians responsible for digital archives need +portable documents, since they cannot assume that a particular +hardware/software platform will exist in perpetuity +\end{enumerate} + +\section{Examples of successful portability} +\begin{itemize} +\item Computer science researchers and software manufacturers +distribute documents as PostScript files. This works well +if the fonts employed are restricted to the basic 35, and +the use of Adobe Acrobat (pdf files) increases portability when other +fonts are used. + +\item The Physics pre-print library at Los Alamos National Laboratory +is used by many physicists world-wide: over 10,000 retrievals per day +are reported. The archive holds pre-prints in \LaTeX\ and PostScript +formats (figures in PostScript only). This is successful because the +Physics community has for some years used \TeX\ as its preferred means +of exchanging information. + +\item WWW documents are highly portable, since +their rendering is (almost entirely) determined by the +browser software, and the use of a common mark-up language (HTML) +ensures portability +\end{itemize} + +\section{Achieving portability} +At first sight it appears that portability might be achieved +by agreeing standards (e.g. \LaTeX, PostScript, ODA, HTML). +At present there is too much choice, and no obvious winner, +especially in hypermedia documents. This is a sign of an +immature technology. Another important fact to take into account +is that it is difficult to impose standards in some environments +e.g. acadaemia, where personal preferences lead to the equivalent of +religious wars. + +Particular problems in achieving portability arise from varying +fonts and character codes e.g. in handling European languages. +Unicode will go a long way towards solving the character +codes problem. + +\section{Why use SGML?} +SGML provides a formal and portable definition of document structure. +SGML syntax can define a hierarchical structure of embedded document parts, +and can associate a type with each component in the hierarchy. +By associating a rendering definition with each type of component, +it is possible to achieve a portable document. In particular, +SGML provides a uniform archive format for a library of portable +documents. + +\subsection{An example} +Suppose it is required to maintain a library of technical +documents in an environment where some authors use \LaTeX, +whilst others use Microsoft Word. We can define an SGML +DTD for the document structure, together with \LaTeX and Word +styles to define the rendering. +This opens up three possibilities: +\begin{enumerate} +\item Author in SGML and use a tool to produce a \LaTeX\ or +Word version from which the printed version can be produced. +\item Author in \LaTeX\ and use a tool to translate to SGML to +produce the archive copy +\item Author in Word and use a tool to translate the RTF form to +SGML to produce the archive copy +\end{enumerate} + +In addition to the SGML version of the documents, the +archive must contain the Word and \LaTeX\ style files and the +translation tools. Once this is done, anyone can collect a +document, the required style files and tools and produce a copy of +the document. +This will of course only work for text documents. For any +document with graphics content, and for hypermedia +documents, more is required. This is possible in +principle, but much remains to be done + +\section{The future} +A combination of SGML and OpenDoc is probably the best way forward. +OpenDoc provides an architecture for portable documents: +it treats a +document as a container for a collection of `parts', each of which can +have other parts embedded within it. Each type of part has +associated programs to edit and render it, so that +documents can be re-created with varying degrees of fidelity +depending on the availability of rendering software +for the particular varieties of parts that it includes. + +OpenDoc is a dynamic architecture, and assumes that a new type +of part may occur at any time. +In principle SGML can be used to describe the static +structure of an OpenDoc document, providing the final link in the +portability chain. +\end{Article} +Sir -- Philip Taylor is to be complimented on a fine display of pedantry
+in the best academic tradition, the kind of tradition that gives academics
+a bad name amongst normal folk. In computing we use lots of everyday
+words with specialised meanings, and most of us find no difficulty
+in using the context of an utterance to achieve any necessary disambiguation.
+With regard to his criticism of my use of the term "multimedia document",
+I agree that I don't plug my computer into a multiways socket. But then,
+I don't attend a performance of an operum at Covent Garden, either.
+
+Yours sincerely
+
diff --git a/usergrps/uktug/baskervi/5_3/bask5_2.tex b/usergrps/uktug/baskervi/5_3/bask5_2.tex new file mode 100644 index 0000000000..f0297c2d73 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/bask5_2.tex @@ -0,0 +1,46 @@ +\documentclass[]{baskerv} +\BASKvol{5} +\BASKno{2} +\def\thisyear{1995} +\def\thismonth{March} +\begin{document} +\vspace*{-1cm} +\begin{multicols}{2}[\makeBSKtitle] +\begin{raggedright} +\tableofcontents +\end{raggedright} +\input editor +\end{multicols} +\input taylor1 +\input carlisle +\input taylor2 +\Dings +\input barron +\Dings +\input fine +\Dings +\input flynn +\newpage +\input granger +\Dings +\input key +\Dings +\input szillat +\Dings +\input panel +\Dings +\input bailey +\Dings +\input kees +\Dings +\input cameron +\Dings +\input clark +\Dings +\input eurotex +%\Dings +%\input group +%\newpage +%\setcounter{tocdepth}{-2} +%pagestyle{empty}\advance\textwidth by -1.5in +\end{document} diff --git a/usergrps/uktug/baskervi/5_3/bask5_3.rep b/usergrps/uktug/baskervi/5_3/bask5_3.rep new file mode 100644 index 0000000000..481534cc2c --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/bask5_3.rep @@ -0,0 +1,40 @@ +(newarticle.1) <Editorial> +(section.1.1) <Calling on you> +(section.1.2) <Looking different> +(section.1.3) <Sad resignation of {\relax \fontsize {8}{9}\selectfont \abovedisplayskip 4\p@ plus1\p@ minus1\p@ \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 3\p@ plus\p@ minus2\p@ \def \leftmargin \leftmargini \parsep \z@ \topsep 2\p@ plus1\p@ minus1\p@ \itemsep \z@ plus.1\p@ {\leftmargin \leftmargini \topsep 1\p@ plus1\p@ minus1\p@ \parsep \z@ \itemsep 2\p@ }\belowdisplayskip \abovedisplayskip UK}TUG\ committee member> +(section.1.4) <Whither \LaTeX ?> +(newarticle.2) <Cathy Booth Memorial> +(newarticle.3) <Cathy Booth 1952--1991> +(newarticle.4) <Honorary Member> +(newarticle.5) <Letter to the editor> +(newarticle.6) <Using Adobe Type 1 Multiple Master fonts with \TeX > +(section.6.1) <Introduction> +(section.6.2) <Multiple Master overview> +(section.6.3) <Multiple Master Font Programs> +(section.6.4) <Using Multiple master fonts with TeX{}> +(section.6.5) <In practice> +(newarticle.7) <Maths in \LaTeX : Part\nobreakspace {}5, Getting started on arrays> +(section.7.8) <Mathematical arrays> +(section.7.9) <Tables of data> +(newarticle.8) <Report of visit to CERN to attend presentation of $\Omega $> +(section.8.1) <Introduction> +(section.8.2) <What \emph {is} \Om ?> +(section.8.3) <Why Unicode?> +(section.8.4) <Virtual Metafont and Fonts to Support Unicode> +(newarticle.9) <A.N.Other's Gleanings> +(section.9.1) <Framed, or a boojum?> +(section.9.2) <Lettres> +(section.9.3) <To be taken daily> +(section.9.4) <Web> +(section.9.5) <Deathwish 1996> +(section.9.6) <Another famous Belgian> +(section.9.7) <Thank you> +(newarticle.10) <New PostScript font metrics for \LaTeX > +(newarticle.11) <Standard for TeX\ Directory Structures> +(newarticle.12) <The 1995 Annual General Meeting> +(newarticle.13) <The UK TeX\ Users Group> +(section.13.1) <Group aims and activities> +(section.13.2) <Programme of meetings for 1995> +(newarticle.14) <Obtaining TeX> +(newarticle.15) <Membership Data> +(section.15.1) <Membership Services> diff --git a/usergrps/uktug/baskervi/5_3/bask5_3.tex b/usergrps/uktug/baskervi/5_3/bask5_3.tex new file mode 100644 index 0000000000..840726cd8d --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/bask5_3.tex @@ -0,0 +1,59 @@ +\errorcontextlines=10 +\documentclass[]{baskrep} +\special{header=MinionMM.PFA} +\BASKvol{5} +\BASKno{3} +\def\thisyear{1995} +\def\thismonth{June} +\usepackage{afterpage} +\DeclareRobustCommand{\Om}{\ensuremath{\Omega}} +\makeatletter +\def\LaTeX{L\kern-.24em + {\setbox0\hbox{T}% + \vbox to\ht0{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }% + \kern-.10em + \TeX} +\makeatother +\begin{document} +\vspace*{-1cm} +\begin{multicols}{2}[\makeBSKtitle] +\begin{raggedright} +\tableofcontents +\end{raggedright} +\input editor +\end{multicols} +\Dings +\input booth +\Dings +\input honmem +\Dings +\input taylor +\newpage +\input goossens +\Dings +\DeleteShortVerb{\|} +\input bailey +\Dings +\input robin +\Dings +\input clark +\Dings +\input psfonts +\Dings +\input tds +\Dings +\input agm +\Dings +\input standard +\input abbott +\newpage +\setcounter{tocdepth}{-2} +\pagestyle{empty}\advance\textwidth by -1.5in +\input form +\end{document} diff --git a/usergrps/uktug/baskervi/5_3/baskerv.cls b/usergrps/uktug/baskervi/5_3/baskerv.cls new file mode 100644 index 0000000000..37874bc409 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/baskerv.cls @@ -0,0 +1,766 @@ +% Baskerville.cls: +% Adrian Clark +% Sue Brooks +% Sebastan Rahtz +% +% based on the original LaTeX ARTICLE DOCUMENT STYLE +% +% for LaTeX2e +% +\def\filedate{1995/01/30} +\def\fileversion{3.10} +% 29.5.94 added ISSN +% 2.6.94 corrected \ukt\ macro +% 7.6.94 centered captions +% 15.8.94 changed editor names etc +% 2.11.94 use Alan Jeffrey's code for paths, emails, URLs etc +% from faq.sty +% put PA address in mast head +% Journals use two-sided printing. +% 1.12.94 cleaned again for FAQ issue. +% 6.12.94 more little fixes for FAQ issue +% 14.3.95 parameterized date +% 12.6.95 removed JF +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{baskerv}[\filedate, Baskerville newsletter class \fileversion] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions +\LoadClass{article} +\RequirePackage[noisy]{textfit} +\RequirePackage{pifont} +\RequirePackage{latexsym} +\RequirePackage{calc} +\RequirePackage{ifthen} +\RequirePackage{longtable} +\renewcommand{\rmdefault}{mbvx} +\renewcommand{\sfdefault}{cmss} +\renewcommand{\ttdefault}{cmtt} +\fontfamily{mbv}\selectfont +\DeclareFontShape{T1}{mbv}{m}{sl}{<->ssub * mbv/m/it}{} +\RequirePackage{t1enc} +\RequirePackage{array} +\RequirePackage{shortvrb} +\RequirePackage[dvips]{epsfig} +\RequirePackage[dvips]{color} +\RequirePackage{multicol} +\RequirePackage{faq} +\RequirePackage{mflogo} +%\RequirePackage{footcols} +\newcommand\bs{{\ttfamily\upshape\char'134}} +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +\lineskip 1\p@ +\normallineskip 1\p@ +\def\baselinestretch{1} +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 4\p@ \@plus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\let\@normalsize\normalsize +\normalsize +\renewcommand\small{% + \@setfontsize\small\@ixpt{10.5}% + \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ + \abovedisplayshortskip 4\p@ \@plus1\p@ + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus1\p@ \@minus1\p@ + \parsep \z@ + \itemsep 2\p@}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@viiipt{9}% + \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 1\p@ \@plus1\p@ \@minus1\p@ + \parsep \z@ + \itemsep 2\p@}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} +\renewcommand\large{\@setfontsize\large\@xipt{12}} +\renewcommand\Large{\@setfontsize\Large\@xiipt{14}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xivpt{17}} +\renewcommand\huge{\@setfontsize\huge\@xviipt{20}} +\renewcommand\Huge{\@setfontsize\Huge\@xxpt{30}} +\normalsize +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\oddsidemargin -2.5pc \evensidemargin -2.5pc +\marginparwidth 4pc % don't use marginal notes... +\marginparsep 0.5pc % ...in the UK TUG newsletter + +% VERTICAL SPACING: +\topmargin -3pc +\headheight 12\p@ +\headsep 15\p@ +\topskip 10\p@ +\footskip 15\p@ + +% DIMENSION OF TEXT: + +\textheight 250mm % height of text on a page (A4 paper) +\textwidth 180mm % total width of a page +\columnseprule 0.5\p@ % width of line in the inter-column gutter +\columnsep 10mm % space between columns +\tolerance 9999 % make those columns justify + +% FOOTNOTES: +\footnotesep 6\p@ +\skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ + +% FLOATS: +\floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ +\textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\@fptop 0\p@ plus 0fil +\@fpsep 12\p@ plus 0fil +\@fpbot 0\p@ plus 3fil +\@dblfptop 0\p@ plus 0fil +\@dblfpsep 12\p@ plus 0fil +\@dblfpbot 0\p@ plus 3fil +\marginparpush 5\p@ + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parindent 12\p@ +\parskip \z@ plus .1\p@ +\partopsep 0\p@ plus 1\p@ +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\clubpenalty=0 +\widowpenalty=10000 + +% **************************************** +% * SKIPS * +% **************************************** +% +\newskip\@indentskip +\newskip\smallindent +\newskip\@footindent +\newskip\@leftskip +\@indentskip=1.25pc +\smallindent=\parindent +\@footindent=\smallindent +\@leftskip=\z@ + + +% **************************************** +% * SECTIONS * +% **************************************** +% +\def\Section{\@startsection{newarticle}{0}{\z@} + {-24\p@ \@plus -12\p@ \@minus -.1\p@} + {12\p@ \@plus 1\p@} + {\raggedright\Large\bfseries}} +\def\section{%\typeout{** section!}% +\@startsection {section}{1}{\z@} + {-12\p@ \@plus -6\p@ \@minus -.1\p@} + {6\p@} + {\raggedright\large\bfseries}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {-4\p@ \@plus -2\p@ \@minus -.1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\itshape}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-6\p@ \@plus -3\p@ \@minus -1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\it}} +\def\paragraph{\@startsection{paragraph}{4}{\z@} + {12\p@ \@plus 2.25\p@ \@minus -1\p@} + {-0.5em} + {\normalsize\bfseries}} +\def\subparagraph{\@startsection{subparagraph}{5}{\z@} + {12\p@ \@plus 2.25\p@ \@minus 1\p@} + {-0.5em} + {\normalsize\it}} +\setcounter{secnumdepth}{-1} +% +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + +% **************************************** +% * PARTS & SECTIONS NUMBERS * +% **************************************** +% +\newcounter{newarticle} +\@newctr{section}[newarticle] +\def\thenewarticle {\Alph{newarticle}} + +% **************************************** +% * LISTS * +% **************************************** +% +\leftmargini \@indentskip +\leftmarginii 1pc +\leftmarginiii 1pc +\leftmarginiv 1pc +\leftmarginv 1pc +\leftmarginvi 1pc +\leftmargin\leftmargini +\labelsep 0.5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% +% label macros for Range-Left and Range-Right labels +\def\makeRLlabel#1{\rlap{#1}\hss} +\def\makeRRlabel#1{\hss\llap{#1}} +% +\def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ +} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ +} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep +} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep +} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep +} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep +} +% +% ITEMIZE +\def\itemize{\ifnum \@itemdepth >3 \@toodeep + \else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\let\makelabel\makeRRlabel}% + \fi} +\def\labelitemi{$\bullet$} +\def\labelitemii{--} +\def\labelitemiii{$\cdot$} +\def\labelitemiv{*} +% +% ENUMERATE with optional argument to set left margin... +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \fi + \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% +} +\def\@enumeratetwo[#1]{% + \list{\csname label\@enumctr\endcsname}% + {\settowidth\labelwidth{[#1]} + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{\@enumctr} + \let\makelabel\makeRRlabel} +} +\def\@enumerateone{% + \list{\csname label\@enumctr\endcsname}% + {\usecounter{\@enumctr} + \let\makelabel\makeRRlabel}} +% +\def\labelenumi{\theenumi} +\def\theenumi{\arabic{enumi}.} +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\theenumiii} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\theenumiv} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} +% ARRAY AND TABULAR +% +\arraycolsep 5\p@ +\tabcolsep 6\p@ +\arrayrulewidth .5\p@ +\doublerulesep 1.5\p@ + +% **************************************** +% * TITLES AND ABSTRACT * +% **************************************** +% +\def\BASKvol#1{\gdef\BASK@vol{#1}} +\gdef\BASK@vol{?} +\def\BASKno#1{\gdef\BASK@no{#1}} +\gdef\BASK@no{?} +\def\makeBSKtitle{\par + \begingroup + \vspace*{-\headheight}% + \@maketitle + \bigskip\hrule\bigskip + \thispagestyle{plain} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax +} +\newbox\BSKbox +\def\@maketitle{% +\centerline{{\bfseries \scaletowidth{\textwidth}{B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}}} + \medskip + \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users' + Group\hfill Editor: Sebastian Rahtz\hfill Vol.~\BASK@vol\ No.~\BASK@no} + \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 +\hfill \thismonth\ \thisyear} + \medskip + \noindent Articles may be submitted via electronic mail to + \texttt{baskerville@tex.ac.uk}, or on MSDOS-compatible discs, + to Sebastian Rahtz, Elsevier Science Ltd, The Boulevard, Langford +Lane, Kidlington, Oxford OX5 1GB, to whom any correspondence +concerning \BV\ should also be addressed. \BV\ is set in Monotype +Baskerville, with Computer Modern Typewriter for literal +text, and printed on a Xerox Docutech. Production and distribution is +undertaken in Cambridge by Robin Fairbairns. Back +issues from the previous 12 months may be ordered from \ukt\ for +\pounds2 each; earlier issues are archived on \textsc{ctan} in +\texttt{usergrps/uktug}. + +Please send \ukt\ subscriptions, and book or software orders, to +Peter Abbott, 1 Eymore Close, Selly Oak, Birmingham B29 4LB. +Fax/telephone: 0121 476 2159. Email +enquiries about \ukt\ to \protect\texttt{uktug-enquiries@tex.ac.uk}. + } + +\def\and{\end{tabular}\vskip 6pt\par + \begin{tabular}[t]{@{}l@{}}} +% +\def\abstract{\@abstract} +%\def\endabstract{\endlist} +%\def\@abstract{\list{}{\leftmargin \z@\rightmargin\z@ +% \parsep 0\p@ \@plus 1\p@}\item[]\normalsize{\bfseries Summary}\\} +\def\endabstract{\par} +\def\@abstract{\subsection*{Summary}} + +% **************************************** +% * PAGE STYLES * +% **************************************** +% +\mark{{}{}} +\gdef\@author{} +\def\author{\@ifnextchar [{\@authortwo}{\@authorone}} +\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}} +\def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}} +\gdef\@shortauthor{Dummy Author} +\gdef\@title{Dummy Article Title} +\gdef\@longtitle{Dummy Article Title} +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} +\gdef\@longtitle{Dummy Title} + +% +% \ps@empty defined in LATEX.TEX +% +\def\ps@plain{\let\@mkboth\markboth + \def\@oddhead{} + \def\@evenhead{} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\hfill\emph{\@title}\hfill} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{\it\@shortauthor \hfill \@title} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +% **************************************** +% * TABLE OF CONTENTS, ETC. * +% **************************************** +% +\def\@pnumwidth{1.4pc} +\def\@tocrmarg {2pc} +\def\@dotsep{10} +\setcounter{tocdepth}{0} +%\def\tableofcontents{\@restonecolfalse +% \if@twocolumn\@restonecoltrue\onecolumn\fi +% \section*{Contents} \@starttoc{toc} +% \if@restonecol\twocolumn\fi \par\vspace{12\p@}} +\def\tableofcontents{\Section*{Contents}\@starttoc{toc}} +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em \@plus 1\p@} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\normalsize\rm + \leavevmode \hspace*{3pc} + #1\hfil \hbox to\@pnumwidth{\hss \ }}\par + \nobreak \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}\endgroup} +\def\dotfil{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil\kern\z@} +\def\l@newarticle#1#2{\addpenalty{\@secpenalty} +% \addvspace{1.0em \@plus 1\p@} + \@tempdima 1.5em % width of box holding section number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode + #1\dotfil \hbox to\@pnumwidth{\hss #2}\par + \endgroup} +\def\l@section{\@dottedtocline{1}{\z@}{1.5em}} +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{List of Figures\@mkboth{List of Figures}{List of Figures}} + \@starttoc{lof} \if@restonecol\twocolumn\fi} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{List of Tables\@mkboth{List of Tables}{List of Tables}} + \@starttoc{lot} \if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% +\def\thebibliography#1{\section*{\refname} + \small +\list + {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \parskip\z@ \@plus .1pt\relax + \clubpenalty4000\widowpenalty4000\sfcode`\.=1000\relax} +\def\refname{References} +\def\endthebibliography{% + \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} + +\setcounter{topnumber}{2} +\def\topfraction{.9} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.9} +\setcounter{totalnumber}{3} +\def\textfraction{.1} +\def\floatpagefraction{.75} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.9} +\def\dblfloatpagefraction{.75} + +\long\def\@makecaption#1#2{\vskip 6\p@ + \setbox\@tempboxa\hbox{\small{\bfseries #1.} #2} + \ifdim \wd\@tempboxa >.8\hsize + \small{\bfseries #1.} #2\par + \else + \hbox to.8\hsize{\hfill\box\@tempboxa\hfill} + \fi + \vskip 6\p@ +} + + +% --- ----------------------------------------------------------------- +% --- Shorthands for non-English abbreviations and words. +% --- ----------------------------------------------------------------- + +\def\foreign{\em} +\def\etc{{\foreign etc.}} % etc. +\def\eg{{\foreign e.g.~}\ignorespaces} % e.g. +\def\egc{{\foreign e.g.,~}\ignorespaces} % e.g., +\def\ie{{\foreign i.e.~}\ignorespaces} % i.e. +\def\iec{{\foreign i.e.,~}\ignorespaces} % i.e., + +% --- ----------------------------------------------------------------- +% --- Tex-related mnemonics. +% --- ----------------------------------------------------------------- + + +\def\La{\protect\p@La} +\def\p@La{L% + {\setbox0\hbox{T}% + \setbox2\vbox to\ht0{\kern.07ex\hbox{% + \csname S@\f@size\endcsname + \math@fontsfalse + \fontsize\sf@size\z@\selectfont + A}% + \vss}% + \kern-.5\wd2 + \box2 + }} +\def\AllTeX{(\La)\TeX} +\def\AmSTeX{$\mathcal{A}\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em S$\TeX} +\def\LamsTeX{$\mathcal{L}\mathcal{A}% +\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em S$\TeX} +\def\BibTeX{{\rmfamily B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em\TeX}} +\def\INRStex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} +\def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} +\def\LAMSTeX{L\kern -0.4 em \raise 0.3 ex \hbox {$\scriptstyle \mathcal{A}$}% + \kern -0.25 em \lower 0.4 ex \hbox {$\cal M$}% + \kern -0.1 em \hbox {$\mathcal{S}$}-\TeX} +\def\AMSLaTeX{{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em + $\mathcal{S}$-\LaTeX}} +\def\MakeIndex{{\itshape MakeIndex}} +\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} +\def\PiCTeX{\PiC\kern-.11em\TeX} +% SliTeX from the SliTeX Documentation +\def\SLiTeX{S\kern-.065em L\kern-.18em\raise.32ex\hbox{\textsc{i}}\kern-.03em\TeX} +\let\SliTeX\SLiTeX +\def\POBox{P.\thinspace O.~Box } +\def\TeXhax{\TeX hax} +\def\TeXXeT{\TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT} +\def\TUB{\emph{TUGboat}} +\def\DVI{\texttt{dvi}} +\def\VF{\textsc{vf}} +\def\BV{\emph{Baskerville}} +\def\UKTUG{UK \TeX\ Users' Group} +\def\ukt{{\footnotesize UK}TUG} +\let\shortuktug\ukt +\def\PS{\textsc{PostScript}} +\newcommand{\payuk}{UK TeX Users' Group} +\newcommand{\Newline}{\\[0.7\baselineskip]} +\newcommand{\FullLine}[1]{% + \makebox[\linewidth][l]{#1\hrulefill}\Newline} +\newcommand{\HalfLine}[1]{% + \makebox[0.5\linewidth][l]{#1\hrulefill}} + +\def\Dash{---} + + +% --- ----------------------------------------------------------------- +% --- Additional commands. +% --- ----------------------------------------------------------------- + +\let\maketitle\make@articletitle +\def\make@articletitle{\Section{\@longtitle}} + +\def\article{% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \Section{\@longtitle}% + \let\maketitle\relax + \markright{\@shortauthor\hfill\@longtitle}% +} +% +% Article is when the title is double column +\def\Article{% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \begin{multicols}{2}[\Section{\@longtitle}]% + \let\maketitle\relax + \markright{\@shortauthor\hfill\@longtitle}% +} +% Article is when the title is double column +\def\FArticle{% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \begin{multicols}{2}[\Section*{\@longtitle}]% +} +\def\endarticle{\@signature + \gdef\@author{\mbox{}}} + +\def\endArticle{\@signature + \gdef\@author{\mbox{}}\end{multicols}% +} +\let\endFArticle\endArticle +\def\newarticlemark#1{} + +% --- Macros for cross-referencing tables and figures. + +\def\figref#1{Figure~\ref{#1}} +\def\tabref#1{Table~\ref{#1}} + +% --- Output the attribution at the end of an article. +\def\emptysig{} +\def\@signature{% + \ifx\@author\emptysig\else + \begin{flushright}\begin{tabular}{@{}r@{}}\@author\end{tabular}% + \end{flushright}\fi} + +\def\signature#1{\begin{flushright} + \begin{tabular}{@{}r@{}}#1\end{tabular}% + \end{flushright}} + +% --- ------------------------------------------------------------------ +% --- The following macros are taken from Adrian F. Clark's LaTeX style +% --- file `dates.sty', which provides fairly flexible date inclusions. +% --- ------------------------------------------------------------------ + +\def\today{\thisdayofweek\ \thisdayth\ \thismonth\ \thisyear} + +\def\thisday{\number\day} + +\def\thisdayth{\thisday \ifcase\day + \or\st\or\nd\or\rd\or\th\or\th\or\th\or\th\or\th\or\th\or\th + \or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\th + \or\st\or\nd\or\rd\or\th\or\th\or\th\or\th\or\th\or\th\or\th\or\st\fi} + +\def\thisdayofweek{\dayofweek{\year}{\month}{\day}} + +\def\thismonth{\ifcase\month\or \January\or \February\or \March\or + \April\or \May\or \June\or \July\or \August\or \September\or + \October\or \November\or \December\fi} + +\def\thisyear{\number\year} + +% --- Names of days of the week and the months. +% --- This makes it easier to change them for languages other than English. +% --- (And that's why they're not \@Sunday, etc). + +\def\Sunday{Sunday} +\def\Monday{Monday} +\def\Tuesday{Tuesday} +\def\Wednesday{Wednesday} +\def\Thursday{Thursday} +\def\Friday{Friday} +\def\Saturday{Saturday} + +\def\January{January} +\def\February{February} +\def\March{March} +\def\April{April} +\def\May{May} +\def\June{June} +\def\July{July} +\def\August{August} +\def\September{September} +\def\October{October} +\def\November{November} +\def\December{December} + +% --- Counters. Note that we use the same registers as TeX holds other +% --- things in (e.g., \count0 holds the page number). This requires +% --- that \@savestyle, \@setstyle, and \dayofweek perform all +% --- their register manipulations within a group. This may seem +% --- a bit messy, but it saves having eight registers permanently set +% --- aside just for date calculation. + +\def\@cent{\count0 } % century number (1979 == 20) +\def\@diy{\count1 } % day in the year +\def\@dow{\count2 } % gets day of the week +\def\@epact{\count3 } % age of the moon on Jan. 1 +\def\@golden{\count4 } % Moon's golden number +\def\@leap{\count5 } % leap year fingaler +\def\@x{\count6 } % temp register +\def\@y{\count7 } % another temp register + +\def\st{\alien@up{st}} +\def\nd{\alien@up{nd}} +\def\rd{\alien@up{rd}} +\def\th{\alien@up{th}} + +\def\alien@up#1{{\@savestyle\thinspace$^{\underline{\hbox{% + \scriptsize\@setstyle#1\fam=-1 }}}$}} + +% --- Macros to save and restore the font family. + +\def\@savestyle{\count0=\the\fam} + +\def\@setstyle{\ifcase\count0\rm\or\mit\or\cal\or\rm% what's family 3? + \or\it\or\sl\or\bfseries\or\tt\fi} + +% --- The day of the week (\Sunday, etc.) is inserted into the text +% --- by \dayofweek. (This uses registers \@dow, \@leap, \@x and \@y.) +% --- I acquired this from elsewhere; it was apparently written by +% --- Martin Minow, now a DEC employee. + +\def\dayofweek#1#2#3{{% + \@leap=#2 \advance\@leap by -14 \divide\@leap by 12 + \advance\@leap by #1 + \@dow=#2 \advance\@dow by 10 + \@y=\@dow \divide\@y by 13 \multiply\@y by 12 + \advance\@dow by -\@y \multiply\@dow by 13 \advance\@dow by -1 \divide\@dow by 5 + \advance\@dow by #3 \advance\@dow by 77 + \@x=\@leap \@y=\@x \divide\@y by 100 \multiply\@y by 100 \advance\@x by -\@y + \multiply\@x by 5 \divide\@x by 4 \advance\@dow by \@x + \@x=\@leap \divide\@x by 400 \advance\@dow by \@x + \@x=\@leap \divide\@x by 100 \multiply\@x by 2 \advance\@dow by -\@x + \@x=\@dow \divide\@x by 7 \multiply\@x by 7 \advance\@dow by -\@x + \ifcase\@dow \Sunday\or \Monday\or \Tuesday\or \Wednesday\or + \Thursday\or \Friday\or \Saturday\fi}} + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +\ps@headings +\pagenumbering{arabic} +\sloppy +\flushbottom +\frenchspacing + +\extrarowheight2\p@ +\setlength{\multicolsep}{6\p@} +\let\sl\it +\newcommand{\meta}[1]{{$\langle$\itshape #1\/$\rangle$}} +\def\Gin@extensions{eps,ps,psz} +\def\Gin@sepdefault{.}% +\@namedef{Gin@rule@psz}#1{{eps}{bb}{`gunzip -c #1}} + +% no rule in footcols + +\def\@makecol@ftn{% + \vskip \skip\footins + \footnoterule + \footnotesize + \multicolsep\z@\relax + \hsize\textwidth + \@parboxrestore + % {\showoutput\batchmode\showbox\footins}% + \raggedcolumns + \bgroup \columnseprule 0\p@ + \begin{multicols}{\the\ftn@col@number}% + \unvbox \footins + \end{multicols}% + \egroup +} +% +% available for inter-article dinglines +% +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} +% +% breakable, no brackets, cites +\def\@cite#1#2{{#1\if@tempswa , #2\fi}} +\@twosidetrue \@mparswitchtrue +\endinput +%% diff --git a/usergrps/uktug/baskervi/5_3/booth.tex b/usergrps/uktug/baskervi/5_3/booth.tex new file mode 100644 index 0000000000..f8515bd3a9 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/booth.tex @@ -0,0 +1,103 @@ +\title{Cathy Booth Memorial} +\author{} +\begin{Article} + At the 1992 AGM it was agreed that the \ukt\ would establish the + Cathy Booth Memorial Fund, to be used ``to support education and + research in electronic publishing in general and in the use and + development of \TeX\ and its relatives in particular, and for other + charitable purposes connected with education''. + + The committee intended to set up a charitable trust to administer + the fund, and then to collect money for it (cheques cannot be + written to a trust which does not yet exist). However, both trusts + and charities are covered by various laws, and the legal hurdles + proved too much for the committee. Accordingly, at its meeting in + February 1995, the committee decided to adopt a simpler way of + honouring Cathy Booth's memory, but with the same aim. + Specifically, it was decided to do something in Cathy Booth's name, + at least once in each calendar year, supported by money if + appropriate, for the purpose ``of furthering research and education + in relation to electronic publishing in general and the use and + development of the public domain typesetting program \TeX\ and + related programs in particular''. (This wording is taken from the + draft trust document.) + + As it's first act in Cathy Booth's memory, the committee gave + support, in two ways, to the April 1995 GUTenberg meeting on the + $\Omega$~project. It donated \pounds 200 to the meeting. It also + sent Robin Fairbairns to the meeting as its delegate. A report of + that meeting appears elsewhere in this issue. + +\begin{flushright} +R. A. Bailey\\ +Honorary Secretary 1991--1995 +\end{flushright} +\end{Article} +\author{Chris Rowley and Malcolm Clark} +\title{Cathy Booth 1952--1991} +\begin{Article} +Cathy Booth\footnote{This article is based on one that appeared in + \TeX line in 1991} +died on June 27th, 1991. She had known that she had cancer +of the kidneys for just about a year. She had undergone a major +operation the previous summer, but sadly the extensive surgery +performed at that time was too late to control the cancer. During +that last year she fought the disease consistently, cheerfully and +resolutely; she was determined that she should not be treated any +differently, despite the gradual decline in mobility and energy which +ensued. Ultimately she was confined to a wheel chair and she moved +into a hospice at Tiverton, near her Exeter home, in the hope that her +house would be modified to allow her to return to it and continue her +life as normal. However, this was not to be: she died, peacefully +and gracefully, at the hospice with most of her close family at her +side. + +Cathy was born on June 19th, 1952. She attended Exeter University, +where she completed a BSc in Geography. She fell in love with Exeter +and spent the rest of her life that area. She spent some time after +University working on Exmoor, and later had her own business as a +furniture restorer. But in 1984, after a period in hospital where she +began to do some computing, she took a post as Computing Development +Officer back at Exeter University. One of her first responsibilities +was support of \TeX. As a result, she attended the IUSC conference on +Typography and Design Methods for Computer Typesetting held at Oxford +University at Easter 1985. Following that meeting, she attended a +\TeX\ course held at Imperial College. Her involvement and concern +with \TeX, and more generally with Electronic Publishing, grew +consistently from that time. + +She attended many of the \TeX\ conferences in Europe (Strasbourg +1986, Karlsruhe 1989 and Cork 1990), as well as TUG meetings in +North America (Montreal 1988 and Stanford 1989), and some of the +GUTenberg meetings in Paris. But it will be the \TeX88 conference +held at Exeter University for which she will be best remembered by +many in the \TeX\ world. Cathy was the local organiser for this +meeting and its huge success was due in no small way to, on the one +hand, her vivacity and personal magnetism and, equally important, a +lot of detailed planning and hard work that she undertook during the +run up to the conference. She thus ensured the smooth running of the +conference and various associated events: in particular, the memorable +excursion to Totnes which included travel by both steam train and +river cruiser. + +Cathy was an excellent teacher of \TeX. She taught a number of TUG +courses on Beginning and Intermediate \TeX, and other \TeX\ courses at +Exeter University and she was very energetic in organising other TUG +courses in Europe. At the University she also developed courses which +united her skill with \TeX\ and her design abilities. This facility +with design was just one side of more general artistic skills; these +later led to her completion of an Art History course. The course +results were published only a few days before she died and, +characteristically, hers were excellent. + +She was a founding member of the UK \TeX\ Users Group and of its +committee; she was also a member of the committee of the BCS +Electronic Publishing Specialist Group. Those of us lucky enough to be +on either of those committees at that time will recall her very real +contribution to the work of these groups: her range of innovative +ideas, coupled with her down to earth attention to detail, resulted in +significant improvements to the activities of both these +organisations. +\end{Article} + +\endinput
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/5_3/clark.tex b/usergrps/uktug/baskervi/5_3/clark.tex new file mode 100644 index 0000000000..925dc6464d --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/clark.tex @@ -0,0 +1,148 @@ +\newcommand{\sgml}{\textsc{sgml}} +\title{A.N.Other's Gleanings} +\author{} +\begin{Article} +\section{Framed, or a boojum?} +In the latest Nesletter of the BCS eletronic publishing specialist +group, my colleague Conrad Taylor points out the following: ``it +strikes me as odd that people often choose for \emph{electronic} +publishing a tool named after the quark, since an electron is, of +course, a lepton -- just as a muon is -- and nary a quark goes into +making one up.'' We can carry this a little further by noting one of +the many definitions of Frame: ``concoct a false charge or +accusation'', or even recalling that ``the Word was with God''. But as +someone who has to state that he ``works in latex'', it is dangerous +to bandy these words about. On the other hand, you do get invited to +some very interesting parties\dots\ What is in a name anyway? I have +to admire the sheer chutzpah of naming your product after a zone in an +industrial park in Swindon. Trivial Pursuit question: to which vastly +under-rated electronic publishing package do I refer? + +\section{Lettres} +I continue to be pleasantly surprised by the uniform and high standard +of the \emph{Lettres Gutenberg}, the newsletter of our French sister +organisation. In fact, you have to admire them even more when you +appreciate that they produce not only this excellent newsletter, but a +journal which easily stands shoulder to shoulder with \TUB. Our recent +joint meeting on Portable Documents was paralleled by a very similar +meeting of theirs in Nanterre. Many of the papers presented appeared +in \emph{Cahier GUTenberg 19}, making a rather interesting contrast +with those published in the last edition of \BV. The future holds +similar excitements: next is a special edition on character encoding +(it will be difficult to inject excitement into this dry topic, but if +it can be done, it will be done); and in early June, the annual +conference takes/took place. This picks up the theme of electronic +documents and their distribution once more. Slipping the magic words +`Internet' `World Wide Web' and `Acrobat' into your programme is a +sure-fire way of packing the halls. I wish them much success: I have +many pleasant memories of events organised by GUTenberg: I commend +their meetings to you, and urge you to demonstrate your commitment to +the progressive forces in Europe by taking the train to their next +meeting. + +\section{To be taken daily} +A copy of Kopka \& Daly's \emph{A Guide to \LaTeXe} arrived the +other day. I have long been an admirer of the first edition of this +book. The second edition, which, as its new title implies, reflects +the \LaTeXe\ standard, maintains the former high level. I think it +fairly neatly bridges the gap between Lamport's rather terse account +and the uneven whirlwind tour of thousands of packages in the `three +men and a dog' tome which unleashed the new release upon us. I find it +intriguing that in a book of over 500 pages, less than 300 are given +directly to \LaTeXe, and 200 to appendices. The book is published by +Addison-Weley, ISBN 0-201-42777-X. + +\section{Web} +As the World Wide Web continues its inexorable conquest of the world, +let's stand back for a moment and see how \TeX\ fits in. First, look +at its origins. Consider the primitive nature of the early HTML +`standard'. Can you guess why it was so brain dead? If you look at it +closely, you'll see that apart from its hypertext anchors, its two +main features were tons of headings and various types of list +structures. In fact, it was modelled closely on \texttt{texinfo}, a +variant \TeX-macro package used chiefly by the Free Software +Foundation afficionados. Consider too what stroke of chance it was +that led Tim Berners-Lee to sit down with one of \textsc{cern}'s tribe +of \sgml{} people for coffee one morning. Sheer luck (or genius) which +has done more for the street credibility of \sgml{} than years of +conferences in exotic climes and hob-nobbing with the +militarly-industrial complex. Consider also what might have happened +if it had been Michel Goossens who had that fateful cup of coffee with +Tim. The world would now be beating a path to the door of \LaTeX. Or +would it? Nevertheless, \LaTeX\ is re-appearing within HTML +developments. The new `standard', very much still in draft, includes +maths and tables. There is a test-bed available, called \emph{Arena} +which will allow you to see what is planned. The encoding of maths is +essentially that of \LaTeX. And surprisingly, the encoding of tables +looks currently just like \LaTeX\ too -- I say surprisingly since +\texttt{tbl} is more powerful and equally stable. + +\subsubsection{The Trojan horse option} +I wonder though if we are not missing a real opportunity. While +Acrobat, or \texttt{pdf}, is now an `official' \textsc{mime} type +(implying that it can be happily included on the Web, and browsers can +be configured to handle it in a standardised way), \texttt{dvi} has +not yet made it to this status. Consider that Acrobat readers are +available for Sun machines running Solaris (and Motif), and not for +the other myriad of Unix boxes. What is present on almost every Unix +box? Why, \TeX\ and \LaTeX, and therefore something like \texttt{xdvi} +which will display \texttt{dvi} files. Acrobat is therefore not quite +as widely available as we would like (only Solaris, Mac and Windows), +while \TeX\ and \LaTeX\ are not as widespread as we would like on Mac +and Windows (it's not that people can't afford the disk space, since +you can hardly buy a machine these days with less than 500Mbyte of +disk, but rather that the installation is still such a pig). The Unix +piece of the problem is simple, since downloading a \texttt{dvi} file +over the Web would mererly fire up \texttt{xdvi} or some similar +previewer. With Windows, the situation is more difficult. If we had a +nice simple installation of a previewer which could use Multiple +Master fonts, a \texttt{dvi} \textsc{mime} type might be a success. +All I'm talking about is a previewer, not the whole \TeX/\LaTeX\ +installation. Using Adobe's Multiple Master fonts appeals to me as a +way of piggy backing off their technology, and also means that in font +terms, it can do at least anything that Acrobat can. Of course, we +have to change the name of \texttt{dvi}, since it is a registered +trade mark (of Intel?) for digital video\dots One advantage is that +all the archives of scientific papers created using \TeX, \LaTeX\ or +\texttt{groff} are available no matter what platform you use. It would +also be a very open standard, with no whiff of proprietary +machinations. It's so obvious that someone is bound to have done it +already. + +\section{Deathwish 1996} +Am I alone in thinking that there are some odd decisions being made on +the location of TUG conferences? The notion of going to Florida in the +summer didn't appeal to me (although I appreciate that there may have +been a sub-text which somehow equated TUG and Disneyworld), but next +year's conference location outdoes this: Russia. At least I think +that's what they said. Maybe it will really be in Moscow (that's a wee +place in Ayrshire). With at least two TUG members in Russia, it +promises to be an unforgettable meeting. + + +\section{Another famous Belgian} + +You will remember the parlour game where you were challenged to name +ten famous Belgians (it isn't really that difficult). There is now an +eleventh! Michel Goossens of \emph{Companion} fame will be President +of TUG. This makes three non-US Presidents in a row, neatly +confounding any claims that it is solely a US organisation. Someone +unkindly remarked upon the similarity between Michel and Tin-tin, but +apart from the dogs and the nationality I can't see this. Perhaps we +should be told. + +\section{Thank you} + +This edition of \BV\ carries an announcement of the elevation of M +Clark to Honorary Membership of the group. In a rare interview MC told +me how deeply moved he was by this singular honour, all the more so, +he said, since the committee at that time had been populated by a +large number of people who he held in high regard. He went on to say +that one of the things he enjoyed most about the \TeX\ (and \LaTeX) +world was the comradeship and good fellowship which characterised +it. Almost without exception, \TeX\ people helped one another, and did +so in a friendly and concerned way. If anything, they were sometimes +too nice, he added with a twinkle in his eye (too many bottles of Cab +Sov). He asked your correspondent to convey his heartfelt thanks to +all those involved. +\end{Article} diff --git a/usergrps/uktug/baskervi/5_3/downes.tex b/usergrps/uktug/baskervi/5_3/downes.tex new file mode 100644 index 0000000000..bfe430eab1 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/downes.tex @@ -0,0 +1,79 @@ +Replied: Fri, 24 Mar 1995 15:08:00 +0000 +Replied: "Michael Downes <MJD@MATH.AMS.ORG> R A Bailey <R.A.Bailey@qmw.ac.uk>, baskerville@tex.ac.uk" +Return-Path: <MJD@MATH.AMS.ORG> +Delivery-Date: +Received: from axp14.ams.org (no rfc931) by swan.cl.cam.ac.uk + with SMTP (PP-6.5) outside ac.uk; Fri, 24 Mar 1995 13:31:09 +0000 +Received: from AXP14.AMS.ORG by AXP14.AMS.ORG (PMDF V4.3-10 #7286) + id <01HOIAHQZZ1S0002BP@AXP14.AMS.ORG>; + Fri, 24 Mar 1995 08:30:35 -0500 (EST) +Date: Fri, 24 Mar 1995 08:30:35 -0500 (EST) +From: Michael Downes <MJD@MATH.AMS.ORG> +Subject: Re: amslatex +In-reply-to: <16618.9503201129@galois.maths.qmw.ac.uk> +To: R A Bailey <R.A.Bailey@qmw.ac.uk> +Cc: MJD@MATH.AMS.ORG, baskerville@tex.ac.uk +Message-id: <796051835.339546.MJD@MATH.AMS.ORG> +MIME-version: 1.0 +Content-type: TEXT/PLAIN; CHARSET=US-ASCII +Content-transfer-encoding: 7BIT +Mail-System-Version: <MultiNet-MM(369)+TOPSLIB(158)+PMDF(4.3)@MATH.AMS.ORG> + +> I am writing a series of tutorials on doing Maths in LaTeX which are +> appearing in Baskerville, the magazine of the UK TeX Users Group. +> In No. 2 I introduced \emptyset. This provoked a query from a reader, +> to which I replied in No. 3. My reply was not very polite about the +> AMS, so I will send you the article right after this so that, if you want +> to, you can respond with a letter to the editor or a short note. + +I'm glad that you brought this question to my attention because it seems +to be a simple misunderstanding that can be easily cleared up. :-) The +question is, to be precise, + + Why does "The LaTeX Companion" show a version of the symbol \emptyset + in Table 8.7 (p 219) that is a circle with a diagonal line through it, + in contradiction to the actual symbol that most LaTeX users will get + from the \emptyset command, i.e. a slashed zero? + +and + + Why does "The LaTeX Companion" show a slashed zero for the command + \varnothing in Table 8.20, which purports to show the symbols provided + in the extra math fonts of the AMSFonts distribution? + +Your conjecture was that the AMS had done something to swap around the +usual symbol for \emptyset with the other symbol that is provided in the +msbm font. As it turns out, however, that conjecture is false; a search +of all the files in the AMSFonts and AMSLaTeX distributions reveals that +there is not even so much as a mention of \emptyset anywhere. And if you +look at the AMSFonts User's Guide, you'll see that the symbol shown in +the symbol tables for \varnothing is not the slashed-zero but the other +one. + +The crucial point seems to be that "The LaTeX Companion" used Lucida +math fonts (if I recall correctly) and therefore the math symbols shown +in *all* of the Tables 8.3--8.20 are actually Lucida math symbols, and +*not* symbols from the fonts (cmsy, cmex, msam, msbm) that most LaTeX +users will see. + +I therefore offer two counter-conjectures: + +1. One of the authors of "The LaTeX Companion" is of like mind with you +that the AMS \varnothing symbol (plump circle with diagonal line) is +actually the preferred symbol of mathematicians for `empty set' and +explicitly swapped the definitions of \emptyset and \varnothing in the +preamble of "The LaTeX Companion". + +2. The makers of the Lucida symbol fonts intentionally placed a +right-thinking empty-set symbol in the font position that is occupied in +the cmsy font by the slashed-zero symbol. And they put a slashed-zero +symbol in the font position that corresponds to the font position +in the msam font of the plump-circle-with-diagonal symbol. + +I'd wager on the second conjecture. It would probably be a good idea if +you pointed out to the authors of "The LaTeX Companion" that their use +of the Lucida math fonts has led to some confusion and they ought to do +something for future reprintings to counteract the natural tendencies of +the Lucida fonts with respect to the two symbols in question :-) + +Regards, Michael diff --git a/usergrps/uktug/baskervi/5_3/dpc.tex b/usergrps/uktug/baskervi/5_3/dpc.tex new file mode 100644 index 0000000000..6538f8fb0e --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/dpc.tex @@ -0,0 +1,33 @@ +Given the time scale I would probably let it lie, but I'm still not +convinced by the aufflamen example on page 17. + +The new PS file says + +(T)q(he)h(printing)f(r)o(esult)i(is)e(\252auff)q +(lammen)n(\272)1995 4334 y(instead)21 b(of)g(\252auf)q(\257ammen)n + +Which looks like the first example is printing + f f l +and the second example is + f <fl> + +The second example would be consistent with BV not using the expert +set, but I wonder how using "| to put a visual break between the two +f's managed to break the following fl ligature in the first example? + +I would have thought that actually you would want +auf"|flamen +to produce + + f <fl> (as opposed to <ffl>) (or <ff> l if no <ffl> ligature) + +and that you would need something like +auf"|f"|lamen + +to break both ligatures. + +So I would leave it this time, but perhaps could check what the VPL +file is doing with f ligs one day? + +David + diff --git a/usergrps/uktug/baskervi/5_3/drawing.tex b/usergrps/uktug/baskervi/5_3/drawing.tex new file mode 100644 index 0000000000..50a9abdc4a --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/drawing.tex @@ -0,0 +1,769 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This is DRAWING.TEX v.1.0a revised 1994/01/25
+% This contribution is written in LaTeX so that everybody can make a
+% "pretty printout".
+% In order to print it you need VERBATIM.STY by Rainer Sch"opf. This
+% style is available from many archives.
+% You of course need METAFONT and GFTOPK to generate the pictures.
+% (Ask your local wizard for help)
+% DRAWING.MF will be generated when you run this file through
+% LaTeX the first time.
+
+\ifx\selectfont\undefined
+\documentstyle[verbatim]{article}
+\else
+\documentstyle[oldlfont,verbatim]{article}
+\fi
+\makeatletter
+% Read the documentation of verbatim.sty and you will understand
+% what I am doing.
+\newif\ifmf@open \mf@openfalse
+\newwrite\mf@out
+\def\mfcode{\@bsphack
+ \ifmf@open \else
+ \typeout{Writing "drawing.mf"}
+ \immediate\openout\mf@out\mf@name\relax
+ \global\mf@opentrue
+ \fi
+ \let\do\@makeother\dospecials
+ \catcode`\^^M\active%
+ \def\verbatim@processline{%
+ \immediate\write\mf@out{\the\verbatim@line}}%
+ \verbatim@start}
+\def\ednmfcode{\@esphack}
+% We must specify the file name where the METAFONT source is to be
+% written
+\def\mf@name{drawing.mf}
+\let\DW\relax % the font does not exist at the first run
+% We define a macro which writes into drawing.aux. It is similar
+% to \mfcode
+\def\auxwrite{\@bsphack
+ \let\do\@makeother\dospecials
+ \catcode`\^^M\active%
+ \def\verbatim@processline{%
+ \immediate\write\@mainaux{\the\verbatim@line}}%
+ \verbatim@start}
+\def\ednmfcode{\@esphack}
+% Now we define \info to be used at the end of the document
+\def\info{\ifmf@open\immediate\closeout\mf@out\fi
+\typeout{^^J
+==================================================================^^J
+This was the first run. It created "drawing.mf" and "\jobname.dvi"^^J
+is useless. Now you have to generate the pictures. You should ask^^J
+the local wizard to help you with METAFONT. You should invoke it^^J
+by the command:^^J
+^^J
+>mf &plain mode:=localfont; \string\input\space drawing^^J
+^^J
+where "localfont" should most probably be replaced with another^^J
+mode depending upon your hardware. METAFONT will generate the^^J
+metric file "drawing.tfm" and the font file "drawing.XXX" where^^J
+the extension depends on the mode and METAFONT will tell you.^^J
+Afterwards you have to call^^J
+^^J
+>gftopk drawing.XXX^^J
+^^J
+Your local wizard will tell you whether you have to move^^J
+"drawing.tfm" and "drawing.pk" into another directory. Then you^^J
+run LaTeX again and you will get the document with pictures (it^^J
+should work even on a PC).^^J
+Remember that you might need a different font for the screen and^^J
+the printer.^^J
+=================================================================^^J
+Note: If you do not see the whole message on screen, you can find^^J
+it in "\jobname.log".}}
+\makeatother
+% METAFONT logo
+\newfont{\logo}{logo10}
+\newfont{\llogo}{logo10 scaled \magstep2}
+\newfont{\Llogo}{logo10 scaled \magstep3}
+\def\mf{{\logo META}\-{\logo FONT}}
+\def\lmf{{\llogo META}\-{\llogo FONT}}
+\def\Lmf{{\Llogo META}\-{\Llogo FONT}}
+% We will need hash, therefore we define it.
+\begingroup \catcode`\#12
+ \gdef\hash{{\catcode`\#12#}}
+\endgroup
+% Page layout
+\textwidth 16cm
+\oddsidemargin 0pt
+\evensidemargin 0pt
+\marginparwidth 0pt
+\marginparsep 0pt
+% Useful macro
+\def\vs{\vspace{5mm}\par}
+% Special hack
+\newif\ifdoc \doctrue
+% Now the document begins
+\begin{document}
+% Now we use a dirty trick to write something to the aux-file
+\begin{auxwrite}
+\ifdoc
+\global\font\DW=drawing
+\global\let\info\relax
+\global\let\mfcode\verbatim
+\global\let\endmfcode\endverbatim
+\fi
+\end{auxwrite}
+%%%%%%%%%%%%%%%%%%%% Read the text from here %%%%%%%%%%%%%%%%
+\title{Simple drawings with \Lmf}\author{Zden\v{e}k Wagner}
+\maketitle
+\section*{Introduction}
+This contribution explains how to use \mf\ for simple drawings. To
+make the text shorter, some commands are not described. The reader
+is kindly asked to look into this source to see how it was done.
+
+Nobody can guarantee that \mf\ is exactly what you need. the
+simple rules say:
+\begin{itemize}
+\item Use \TeX\ where \TeX\ is good.
+\item Use \mf\ where \mf\ is good.
+\item Use other tools where other tools are good.
+\end{itemize}
+Here you can see examples where \mf\ is good.
+
+\section*{Why not other packages?}
+Though it might look strange I prefer explaining it here. The
+selection of tools is more (or less) a matter of personal taste.
+But there should be some reasoning behind it. If you want to make
+simple drawings, you may choose either MFpic or a similar package
+or directly \mf. In either case you must learn some new commands.
+However, MFpic supports only a subset of \mf. Later, if you need
+more complex pictures, you have to learn a new tool. With \mf\
+it's a bit easier. You just learn some more commands.
+
+It's not a good practice to reject everything what has been done.
+you can find files with \mf\ macros which can be used in a similar
+way as \LaTeX\ styles. This can make life much easier.
+
+\section*{Principle of \lmf\ pictures}
+The principle is to make a new font where a picture is some
+``character''. When we want to place the picture into the
+document, we change the font and type appropriate character. If
+the picture is too large or too complex, it is better to divide it
+into several characters and overlay them with \verb|\llap| or
+\verb|\rlap| commands or simply place the characters in the
+correct order (we will see it later).
+
+\section*{Initial commands}
+It is clever not to use absolute dimensions in the drawings. If we
+measure everything as a multiple of a unit length, we can easily
+scale the whole font. The unit length should be specified in sharp
+units (designated with \hash) which are device independent. We
+must then convert it into device dependent number of pixels by
+calling \verb|define_pixels|. To do this, \mf\ must know the
+properties of the output device. To set everything up, you should
+call \verb|mode_setup| at the very beginning and supply the
+correct mode when you call \mf.
+
+It may be interesting to see on screen how \mf\ is drawing the
+picture. It is accomplished by \verb|screenstrokes|. The
+beginning of \mf\ source file may therefore look as:
+\begin{mfcode}
+% This is drawing.mf, an example file
+% (C) Z. Wagner, 23 Jan 1993, revised 25 Jan 1994
+% This file must not be distributed separately. It is an integral
+% part of drawing.tex. It may be placed at any computer in case
+% drawing.tex is available at an appropriate directory.
+mode_setup;
+u# := 1.0mm#;
+define_pixels(u);
+screenstrokes;
+\end{mfcode}
+
+\section*{Assignments and equations}
+As the title says, \mf\ can solve equations. Thus you can write
+($3a$ is a shorthand for $3 * a$)
+\begin{verbatim}
+3a + b = 5;
+2a - 3b = 7;
+\end{verbatim}
+After reading these equations the values of $a$ and $b$ are fully
+defined.
+
+In the previous section we used \verb|:=| which denotes
+assignment. If you now say
+\begin{verbatim}
+a := 13;
+\end{verbatim}
+it will instruct \mf\ to forget whatever value $a$ might have had
+and assign 13 ti it. In the previous case, when reading the
+equation $2a - 3b = 7$, \mf\ already knows that $a = (-b + 5)/3$
+and these together enable the evaluation of $a$ and $b$. This is
+the difference between assignments and equations.
+
+\section*{Points, coordinates and simple curves}
+The position of points are specified using Cartesian coordinates.
+since \mf\ works inside a plane, we need a pair of numbers, namely
+the x and y coordinates.
+
+The \mf\ character is usually defined by many points. It is
+therefore comfortable to index them. \mf\ uses convention known
+from programming languages, i.e. the index is placed in square
+bracket as in z[7k-6]. It would be very tedious to write z[3].
+Therefore \mf\ offers a shorthand: one simply types z3.
+
+When defining the position of any point, you can either use the
+pair variable in the equation or you can access the x and y
+coordinates directly. Thus
+\begin{verbatim}
+z3 = (7.3u,-13.4u);
+\end{verbatim}
+is equivalent to
+\begin{verbatim}
+x3 = 7.3u; y3 = -13.4u;
+\end{verbatim}
+whereas $u$ was defined above.
+
+Later in the \mf\ definitions we will use commands as $z3 =
+t[z1,z2]$. This means that z3 lies on the straight line defined by
+z1 and z2. If $t = 0$, z3 is equivalent to z1. Equivalence between
+z2 and z3 holds if $t = 1$. In case $t = \frac{1}{2}$, z3 lies in
+the middle between z2 and z3.
+
+\begin{figure}[hbt]
+\centerline{{\DW A}}\vs
+\caption{Simple curves}\label{fig:curves}
+\end{figure}
+The drawings are composed of Bezier curves. To draw a Bezier curve
+through z1, z2, z3, we simply write:
+\begin{verbatim}
+draw z1..z2..z3;
+\end{verbatim}
+
+Sometimes we need better control. It may be achieved by specifying
+a direction at one or more points. This was illustrated in
+fig.~\ref{fig:curves}. The angles are always specified in degrees.
+Before we write the \mf\ program for the curves, we must say
+something about other commands.
+
+The \verb|beginchar| commands starts the definition of a
+character. The first parameter says what character it is to be
+assigned to. The next parameters specify the width, height, and
+depth (how far below the baseline it should extend), respectively.
+The dimensions must be given in sharp units unless they are zero.
+To draw something we must first pickup a pen of appropriate
+thickness. To make a dot wit a pen, we use \verb|drawdot|. The
+program for the character ends with \verb|endchar|. Now we can
+look at it:
+\begin{mfcode}
+beginchar("A",50u#,50u#,0);
+z1 = (5u,3u); z2 = (37u,43u);
+x3 = 1/3[x2,x1]; y3 = 1/3[y1,y2];
+pickup pencircle scaled .4pt;
+draw z1..z3{dir 45}..z2;
+draw z1..z3{dir 105}..z2;
+draw z1..z3{dir -20}..z2;
+pickup pencircle scaled 2u;
+drawdot z1; drawdot z2; drawdot z3;
+endchar;
+\end{mfcode}
+
+The command \verb|flex(z1,z2,z3)| draws a Bezier curves through
+z1, z2, z3, where the direction at z2 is equal to the slope of the
+straight line from z1 to z3. Make it as your own exercise.
+
+\section*{Changing curvature with tension}
+Bezier spline is a cubic curve. Therefore, you need four points
+for full specification. However, every Bezier segment in previous
+examples was defined only by two endpoints. It means that \mf\ has
+its own algorithm for finding the remaining two points. If you
+want to control the curvature, you must have the possibility to
+influence this algorithm. One way is to use \verb|tension|.
+
+You can define tension at any point of any segment. The general
+syntax is
+\begin{verbatim}
+z1..tension a and b..z2
+\end{verbatim}
+If $a = b$, we can simplify this to
+\begin{verbatim}
+z1..tension a..z2
+\end{verbatim}
+The simple case \verb|z1..z2| is a shorthand for\footnote{This is
+not the whole truth but you can live with this small lie. If you
+wish to know more details, you have to study \mf\-book.}
+\begin{verbatim}
+z1..tension 1..z2
+\end{verbatim}
+
+\begin{figure}[hbt]
+\centerline{{\DW abc}}\vs
+\caption{Frame}\label{fig:frame}
+\end{figure}
+In the next example, we will need some more definitions. You
+should already understand the first two lines. The next line
+defines some parameters which will be used later. Then we declare
+the array of paths to be drawn, the array of cnt and pen widths
+which are both numeric variables. Then we assign some values to
+them.
+\begin{mfcode}
+height#=50u#; width#=50u#;
+define_pixels(height,width);
+
+relsh:=.005; tens:=3;
+
+path p[];
+numeric cnt[], penw[];
+penw0=3pt; penw1=1pt; penw2=.3pt;
+cnt1=.95; cnt2=.92;
+\end{mfcode}
+Afterwards we have to specify a number of points and the three
+curves. We will use a predefined constant $origin$ which means
+(0,0). To simplify the task we also use loops. The loop starts with
+the \verb|for| token and carries out the commands up to
+\verb|endfor| for the specified values of the loop control
+variable. In the firs loop, when $k = 1$, the inner loop defines
+points $z20, z21, \ldots, z32$. The token \verb|shifted| means
+that the point is shifted by the specified vector. The vectors
+\verb|right|, \verb|left|, \verb|up|, \verb|down|, are the unit
+vectors in the named direction. The token \verb|scaled| means
+scaling (multiplication) of the vector. In the equations below it
+defines the length of the vector.
+
+The definition of paths (curves) end with \verb|cycle|. This means
+that the curve is cyclical. If you say
+\begin{verbatim}
+draw z1..z2..z3..z1;
+\end{verbatim}
+the curve will most probably have a sharp edge at z1. You must
+say
+\begin{verbatim}
+draw z1..z2..z3..cycle;
+\end{verbatim}
+in order to make the curve smooth.
+
+\begin{mfcode}
+z0=origin; z1=(0,height); z2=(width,height); z3=(width,0);
+z5=.5[z0,z1]; z6=.5[z3,z2];
+z7=.64[z0,z5] shifted (right scaled (relsh*width));
+z8=.64[z1,z5] shifted (right scaled (relsh*width));
+z9=.64[z2,z6] shifted (left scaled (relsh*width));
+z10=.64[z3,z6] shifted (left scaled (relsh*width));
+z11=.5[z1,z2] shifted (down scaled (relsh*height));
+z12=.5[z0,z3] shifted (up scaled (relsh*height));
+z13=(.5width,.5height);
+for k:=1 upto 2:
+ m:=20k;
+ for j:=0 upto 12 :
+ z[j+m]=cnt[k][z13,z[j]];
+ endfor;
+endfor;
+for k:=0 upto 2:
+m:=20k;
+p[k]=z[m]..tension tens and 1..z[m+7]..z[m+5]..z[m+8]..tension 1 and tens..
+ z[m+1]..tension tens and 1..z[m+11]..tension 1 and tens..z[m+2]..
+ tension tens and 1..z[m+9]..z[m+6]..z[m+10]..tension 1 and tens..z[m+3]..
+ tension tens and 1..z[m+12]..tension 1 and tens..cycle;
+endfor;
+\end{mfcode}
+
+Now we draw the curves. Notice that we used zero widths for the
+first two characters in order to simplify overlapping (look how
+fig.~\ref{fig:curves} was done).
+
+\begin{mfcode}
+beginchar ("a",0,height#,0);
+pickup pencircle scaled penw0; draw p0;
+endchar;
+
+beginchar ("b",0,height#,0);
+pickup pencircle scaled penw1; draw p1;
+endchar;
+
+beginchar ("c",width#,height#,0);
+pickup pencircle scaled penw2; draw p2;
+endchar;
+\end{mfcode}
+
+\section*{Skip this at the first reading}
+We have made some global definitions which might spoil further
+work. We therefore undefine the points. It is achieved by
+assigning \verb|whatever|. It is done here for safety because the
+examples are extracted from several \mf\ files designed by the
+author and the global definitions might interfere with something.
+However, a normal user usually does not need it.
+\begin{mfcode}
+for k:=0 upto 60: z[k]=(whatever,whatever); endfor;
+\end{mfcode}
+
+\section*{Scientific graph}
+Now we make an example of presentation of scientific results.
+Imagine that we have measured vapour pressures of some chemical
+species and afterwards we have found the best fit in the form
+
+\begin{equation}
+\log p = A - \frac{B}{t+C}\label{eqn:vap}
+\end{equation}
+
+where $t$ is temperature in degrees Centigrade and $p$ is pressure
+in kilopascals. Numerical values of parameters $A, B, C$ are
+defined later in the \mf\ source.
+
+\newcommand{\dgC}{$~{\circ}$C}
+As you can see, the temperature ranges from 60\dgC\ to 90\dgC\ and
+pressure ranges from 80\,kPa to 170\,kPa. We therefore need some
+scaling and shift of the origin. A novice might read about
+\verb|currenttransform| and try to harness it. This, however, has
+undesirable side-effects and therefore we suggest to avoid it. It
+is better to use simple linear transform defined with macros.
+\begin{mfcode}
+def degC = degCa + degCb enddef;
+def kPa = kPaa + kPab enddef;
+\end{mfcode}
+
+Now let's examine what happens if we write 75degC. This expression
+expands to 75degCa + degCb. It's clear how the transform works. We
+must only emphasize that 75degC is not equal to degC*75 because
+degC is not a variable but a macro.
+
+Now we can start the plot. We specify the dimensions of the
+character, define the temperature--pressure coordinates of the
+lower left and upper right corners (\mf\ evaluates degCa, degCb,
+kPaa, kPab for us) and specify parameters A, B, C and seven
+experimental points.
+
+You will see special variables $w$ and $h$. At the time of reading
+\verb|beginchar| \mf\ assigns width to $w$, height to $h$ and
+depth to $d$. All these variables are expressed in pixels rounded
+to whole numbers.
+\begin{mfcode}
+beginchar("B",100u#,99u#,0);
+origin = (50degC,50kPa); (w,h) = (100degC,200kPa);
+A = 3194; B = 605; C = 232;
+z1 = (60degC,80kPa); z2 = (65degC,92kPa); z3 = (70degC,105kPa);
+z4 = (75degC,119kPa); z5 = (80degC,134kPa);
+z6 = (85degC,151kPa); z7 = (90degC,170kPa);
+\end{mfcode}
+It is tedious to type this by hand but it can be prepared by the
+program which is used for finding the best fit.
+
+In this case the best fit was expressed in a way which can be
+evaluated with \mf. This is not a frequent situation. The easiest
+way is to tabulate the best fit in many points (do it with your
+software and make the output suitable for input to \mf) and
+connect them with a crooked line. You will use a similar
+technique as below. The only difference is that you will define
+the points but we are calculating them. It is of course possible
+to draw a curve which is not mathematically defined as the best
+fit. In such a case you should specify a very small number of
+points and play with directions and tensions. The next part shows
+that the index expression may even be a real number.
+
+\begin{mfcode}
+for t := 55 step .3 until 95:
+x[t] = t*degC;
+y[t] = (mexp(A - 1000/(t+C)*B))*kPa;
+endfor;
+pickup pencircle scaled 1.5pt;
+draw z55 for t:= (55+.3) step .3 until 95: --z[t] endfor;
+\end{mfcode}
+
+\mf\ has some limitation for calculations. Value 4096 is treated
+as infinity. Greater values can appear in calculations but they
+must be less that 32768. Therefore, the values $B = 605000$ would
+cause arithmetic overflow. Due to it we had to modify
+equation~\ref{eqn:vap}.
+
+We have seen another useful feature of \mf. The loop command may
+even be used in the middle of expression. Here it was used inside
+the \verb|draw| command.
+
+We also want to see the experimental points. We will draw them as
+squares.
+
+\begin{mfcode}
+pickup pensquare scaled 4u;
+for k:= 1 upto 7: drawdot z[k]; endfor;
+\end{mfcode}
+
+At last we draw the frame with marks for 75\dgC, 100\,kPa, and
+150\,kPa.
+\begin{mfcode}
+pickup pensquare scaled .7pt;
+draw origin--(0,h)--(w,h)--(w,0)--cycle;
+pickup pencircle scaled .3pt;
+draw (75degC,0)--(75degC,5u);
+draw (0,100kPa)--(5u,100kPa);
+draw (0,150kPa)--(5u,150kPa);
+endchar;
+\end{mfcode}
+
+Notice that we specified the position of marks in the
+corresponding units. We could as well use $w/2$ or even $50u$
+instead of $75degC$. Such things are, however, too absolute. If
+you for some reason change the with to $150u\hash$, $50u$ will no
+longer correspond to 75\dgC. You can change the temperature range
+to 60\dgC--120\dgC\ and now $w/2$ corresponds to 90\dgC. It is
+clear that $75degC$ is invariate under such changes.
+
+\begin{figure}[hbt]
+\setlength{\unitlength}{1truemm}
+\newcommand{\x}{-5}
+\newcommand{\y}{-6}
+\begin{picture}(130,120)(-30,-20)\sf
+\put(0,0){\makebox(100,99)[lb]{{\DW B}}}
+\put(0,\y){\makebox(4,4)[lt]{50}}
+\put(48,\y){\makebox(4,4)[t]{75}}
+\put(96,\y){\makebox(4,4)[tr]{100}}
+\put(\x,0){\makebox(4,4)[br]{50}}
+\put(\x,31){\makebox(4,4)[r]{100}}
+\put(\x,64){\makebox(4,4)[r]{150}}
+\put(\x,95){\makebox(4,4)[tr]{200}}
+\put(0,-9){\makebox(90,4)[br]{t\,[\dgC]}}
+\put(-30,90){\makebox(20,4)[br]{p\,[kPa]}}
+\end{picture}
+\caption{Vapour pressure curve}\label{fig:vap}
+\end{figure}
+
+Look how figure~\ref{fig:vap} has been done. It might look
+horrible but after some practice you will find it easy.
+
+\mf\ has more advanced mechanisms which could be harnessed for
+transfer of dimensions and coordinates. Some macro packages as
+\verb|incpic.mf| and \verb|incpic.tex| by Old\v{r}ich Ulrych make
+use of it. But this is for experts (or those who do not care how
+it works inside). A novice would have hard times to understand it.
+If you know the mechanism, you cam find your own bugs and you can
+modify it so that it satisfies your personal needs.
+
+The easiest way seems to be the standard \LaTeX' picture
+environment. To avoid some calculations, we place the origin of
+the environment into the origin of our graph. All texts are aligned
+using \verb|\makebox| commands. The dimensions are specified in
+truemm and truecm. These units remain the same if you change the
+\verb|\magnification|. It cannot be done in \LaTeX\ but it is used
+here in case someone would like to incorporate similar concepts
+into plain \TeX.
+
+\section*{More complex examples}
+This section can be too difficult for novices. We show more
+advanced macro definitions. If you cannot understand it at the
+first reading, just skip this chapter and return here after you
+make several own pictures. However, {\bf do not forget to read the
+important warning later in this document!}
+
+The next part of \mf\ code is best placed at the beginning of the
+file so that you can fiddle with the parameters. In this example
+it is placed here in order not to disturb the initial explanation
+with hard to understand commands.
+
+We start with some parameter definitions. Note that two variables
+are declared as \verb|pair|.
+
+\begin{mfcode}
+pair tieshift, tiedepth;
+smallcorner = 1.5u; bigcorner = 7.5u;
+slope = 3;
+tieshift = down scaled 2.5u;
+tiedepth = down scaled 4.5u;
+tv = 3; % this is tension for ties
+\end{mfcode}
+
+We have already seen commands for pen selection. They are quite
+slow. If we pick up the same pen many times, it is faster to store
+the pen in some variable using \verb|savepen|. We do that with two
+different pens.\footnote{It may seem rather useless for two
+pictures but remember that this example is a small part of a large
+font.}
+
+\begin{mfcode}
+pickup pencircle scaled 1pt;
+normalpen := savepen;
+
+pickup pencircle scaled .4pt;
+penfortie := savepen;
+\end{mfcode}
+
+\begin{figure}[hbt]
+\centerline{{\DW C\hspace{1cm}D}}\vs
+\caption{Drawings of marquees}\label{fig:marquee}
+\end{figure}
+
+Now we define a macro with parameters. This macro should draw a
+single segment of a tie. As you can see in
+fig.~\ref{fig:marquee}, the tie is quite a complicated path. It
+should be composed of many segments. Therefore there is no
+semicolon inside the macro definition.
+
+\begin{mfcode}
+def tiebelowline(expr l, r, t, u) =
+(t[l,r] shifted tieshift)..tension tv and 1..
+ ((.5[t,u])[l,r] shifted tiedepth)..tension 1 and tv
+enddef;
+\end{mfcode}
+
+We will need two different round corners. There's another place
+for macro with parameters. It contains cryptic commands. So we
+write the macro and explain it below.
+
+\begin{mfcode}
+def roundcorner(expr a, b, c, r) =
+begingroup save q, w; pair q, w;
+hide(save __p; path __p;
+__p = fullcircle scaled r shifted b;
+q := (a--b) intersectionpoint __p;
+w := (b--c) intersectionpoint __p; )
+a--q{b-a}..{c-b}w--c
+endgroup
+enddef;
+\end{mfcode}
+
+This macro should draw a line from $a$ to $c$ where the sharp
+corner at $b$ is replaced by a part of circle of diameter $r$. the
+macro uses its own internal variables. Not to spoil other things
+in our source, we close the calculations into a group. It is
+similar to \TeX\ groups but the behaviour is slightly different.
+We must explicitly \verb|save| the variables. After that \mf\
+forgets whatever meaning they might have had and then we can
+define them. similarly as \verb|tie|, macro \verb|roundcorner|
+expands to a segment of a longer path. Therefore we must hide the
+calculations so that \mf\ does not see them when constructing the
+path. This is by saying \verb|hide| and closing the hidden code
+into parentheses.
+
+The hidden code starts with saving \verb|__p| and declaring it as a
+variable of type \verb|path|. It is then defined to be a circle of
+diameter $r$ with the centre at point $b$. The next two lines of
+code calculate the points of intersection of the full circle (path
+\verb|__p|) with straight lines (\verb|a--b|) and (\verb|b--c|)
+and assigns them to $q$ and $w$, respectively. now we can
+construct the segment. We specify directions st $q$ and $w$. Again
+semicolon does not appear here because it should be used as a part
+of a longer path.
+
+We have said that $w$ contains the width of the character rounded
+to the whole number of pixels. Now we use it as a variable of type
+pair. You may wonder why \mf\ does not get confused. The reason is
+that we did the change inside a group. We saved the old meaning
+which is automatically restored when \mf\ performs
+\verb|endgroup|.
+
+We are going to draw two similar marquises. They will differ in
+one parameter only. Therefore we write another macro. First we
+define some points. These definitions must be global. We will use
+variable $i$ for some calculations. We adopt a rule that this
+variable serves as a loop control variable and is not used for any
+other purpose. Therefore we need not save it.
+
+We will see a new token \verb|rotated|. This denotes rotation of
+the endpoint around origin.
+
+Scaling, shift and rotation are transformations. Shift and
+rotation are not commutative. It means that it is important to
+apply them in the correct order. In the following macro you can
+find
+\begin{verbatim}
+z[i+10] = right scaled 35u rotated slope shifted z[i];
+\end{verbatim}
+As an exercise change it to\footnote{If you happen to corrupt
+drawing.mf, do not despair. Just erase drawing.aux and run
+drawing.tex through {\rm\normalsize\LaTeX}. It will recreate
+drawing.mf.}
+\begin{verbatim}
+z[i+10] = right shifted z[i] scaled 35u rotated slope;
+\end{verbatim}
+and look what it makes with the marquise\footnote{Are you really
+doing the exercise or just reading the text? your own practice
+will give you much more. Of course you can also try your own
+pictures.}
+
+\begin{mfcode}
+def Kcxi(expr corner) =
+z1 = origin;
+z2 = right scaled 13u rotated -16;
+z3 = right scaled 13u rotated 16;
+z4 = right scaled 13u rotated 40;
+z5 = right scaled 14u rotated 65;
+z6 = (0,15u);
+for i := 2 upto 6:
+z[i+10] = right scaled 35u rotated slope shifted z[i];
+endfor;
+pickup normalpen;
+draw roundcorner(z1,z2,z12,corner);
+for i := 3 upto 6:
+ draw roundcorner(z1,z[i],z[i+10],corner)--z[i+9];
+endfor;
+pickup penfortie;
+draw z1--tiebelowline(z1,z2,0,1/3)..tiebelowline(z1,z2,1/3,2/3)
+ ..tiebelowline(z1,z2,2/3,1)..
+ for i := 1 upto 8: tiebelowline(z2,z12,(i-1)/8,i/8)..endfor
+ z12 shifted tieshift--z12;
+enddef;
+\end{mfcode}
+
+The forming of the marquises is now easy. We just call the macro
+with the correct corner. Please notice that those characters have
+nonzero depths.
+
+\begin{mfcode}
+beginchar("C",50u#,16u#,12u#);
+Kcxi(smallcorner);
+endchar;
+
+beginchar("D",50u#,16u#,12u#);
+Kcxi(bigcorner);
+endchar;
+\end{mfcode}
+
+\section*{Important warning}
+At the end of the \mf\ code we have to place
+\begin{mfcode}
+end
+\end{mfcode}
+Semicolon is not required here (but you can use it) because \mf\
+ignores everything which might appear after the \verb|end| token.
+{\bf It is important to place end--of--line character at the last
+line of code.} If you forget it, \mf\ will award you with a
+horrible message
+\begin{verbatim}
+! METAFONT capacity exceeded, sorry [buffer size=500].
+l.132
+ end^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?^^?...
+If you really absolutely need more capacity,
+you can ask a wizard to enlarge me.
+\end{verbatim}
+
+\section*{Conclusion}
+We have seen simple examples of drawings produced by \mf. There
+are plenty of other commands which we have not discussed here. One
+of them is \verb|fill| which fills in a cyclic path (try to define
+one and fill it by saying e.g.
+\begin{verbatim}
+fill z1..z2..z3..cycle;
+\end{verbatim}
+where all points were previously defined). If you master \mf, you
+can make lots of tricks.
+
+I said that MFpic inserts an additional step which slows down the
+progress when you need to fine tune the curves. From this document
+it may seem that I did not make any improvement. The truth is that
+in your life you will not use the \verb|mfcode| environment. It is
+used in this example to ensure that everything is distributed
+together. Normally the \mf\ source code is written directly and is
+not created by running \TeX.
+
+I wanted to demonstrate that you have to know relatively small
+number of \mf\ commands in order to draw simple pictures. If you
+try this, it will encourage you to study \mf\-book. It is useful
+although you will probably never design your own letters.
+
+It may happen that \mf\ is extremely cumbersome for some
+particular case. Then you are free to scan an image using your
+scanner, modify it with e.g. Corel Draw, overlap it with pictures
+designed with \mf\ and texts written in \TeX, cut and paste it
+using the functions provided by dvidot or other drivers and polish
+it by means of {\sl PostScript\/} features. The only limitation is
+the availability of different soft- and hardware tools and your
+own invention.
+\nopagebreak\vspace{1cm}\nopagebreak\par\nopagebreak
+\begin{flushright}\interlinepenalty10000
+Zden\v{e}k Wagner\\
+E. H\'ala Laboratory of Thermodynamics\\
+Institute of Chemical Process Fundamentals\\
+Academy of Sciences of the Czech Republic\\
+CZ--165 02 Prague\\[2ex]
+e--mail: {\tt wagner@csearn.bitnet, wagner@earn.cvut.cz}
+\end{flushright}
+\docfalse\info
+\end{document}
diff --git a/usergrps/uktug/baskervi/5_3/editor.tex b/usergrps/uktug/baskervi/5_3/editor.tex new file mode 100644 index 0000000000..b4b771696a --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/editor.tex @@ -0,0 +1,125 @@ +\title{Editorial} +\begin{article} +\section{Calling on you} +It seems to have been a while since we had a `normal' issue of \BV; +after the effort last autumn to get the FAQ issue to our readers, +events keep overtaking us, and the last issue was so full it omitted +almost all our regular information. Even now, with summer upon us, and +\TeX\ conferences coming up thick and fast, \BV\ still needs quality +articles. Please send in material to benefit fellow \TeX xies. + +The deadline for \BV\ is always the same --- the beginning of the +last week of odd months. + +\section{Looking different} +Have you noticed anything strange about this \BV\ yet? Yes, it is not typeset +in the eponymous Baskerville font. +Since the article later in this issue by Michel Goossens +and Sebastian Rahtz discusses how to create instances of Adobe's Multiple +Master fonts, and \TeX\ metrics for those instances. it seemed a useful +idea to set a whole issue in Minion, as a practical demonstration. +We do not claim that the variables chosen to make the instances are +especially good (our bold is rather weedy, for instance), but we hope +it will interest some readers. Make of it +what you will --- Baskerville itself will be back next time. + +\section{Sad resignation of \ukt\ committee member} +At the committee meeting of \ukt\ in May, Jonathan Fine announced his +resignation because of ongoing disagreement with other +committee members, and that he would not be standing for re-election. +Admirers of \BV's regular appearance +over the last 18 months have reason to regret his departure, as he +played a great part in the \BV\ distribution and (like all the +committee) worked hard at proof-reading. We hope his regular supply of +articles (interrupted for this issue) will not cease. + +\section{Whither \protect\LaTeX?} +Earlier this year, \ukt\ wrote to all 1994 members who had not +renewed to ask if they were sure; Richard Preston of Oxford University +Press took the trouble to write back and made some interesting points which +are worth answering publicly. He said: +``\ldots While I have the opportunity, I might as well air one or two +frustrations: + +1. I don't know what form \LaTeX3 is going to take, but it seems +to me that if \TeX\ is not going to become the Betamax of DTP +systems then it has to have a WYSIWYG interface. The current +palaver that one has to go through even to change fonts really +isn't acceptable to 99\% of the people who use these systems. +Ideally it should be possible to view a WYSIWYG window and a +window containing the source code, with changes made in either +window being immediately reflected in the other (I believe +Borland's Delphi works on this principle for Pascal +programming). + +2. I now work in OUP's electronic publishing department, and many +of our products are simultaneous book and CD-ROM publications, +using essentially the same text data. There is an obvious need +for a typesetting system that can produce typeset pages based on +tagged ASCII files, which can then be used in the CD-ROM +version. We currently have to translate typesetters coded files +into SGML tagged text, and while this is not difficult, a system +that could translate \LaTeX's generic codes into SGML would be a +godsend. + +3. \TeX\ and \LaTeX\ appear to have become the DTP equivalent of +UNIX --- an extremely powerful whole built up from many powerful +sub-units, but usable only by those with enough time and +enthusiasm to really learn it. As an example, we bought Y\&Y +\TeX's setup for use here; it is extremely good and has served us +very well, but the initial installation and messing around with +font encoding nearly drove me insane. I know this is a +commercial product and is nothing to do with TUG, but it does +reflect the willingness of the TeX community to accept that +using TeX should be a struggle. Compare this with the `install +and away you go' use of Quark or Pagemaker. + +This letter seem to have turned into something of a rant, and +I'm sorry for that, but it is born out of a genuine concern that +a work of genius like \TeX\ is being denied the usage it deserves +because of a lack of awareness within TUG. I've sat through too +many lectures on how to use Cyrillic or Hebrew, or the merits or +de-merits of \verb|\frenchspacing| to believe that this letter will +alter \TeX's course one iota, but at least it's made me feel +better.'' + +in reply to which your \BV\ editor and the \ukt\ chairman made the +following points: +\begin{enumerate} +\item Indeed, you can have this effect of immediate feedback if you + use Blue Sky Research's excellent Lightning Textures product. I + think the interface you get should be separated from the underlying + structure of \TeX and \LaTeX3, and that style design is not a matter + of daily usage. You don't change fonts in a document, you change it + in a style file +\item There are various projects to translate \LaTeX\ to SGML + reliably; interested parties may like to contact Seamus McCague of + ICPC, Dublin (\texttt{seamus@icpc.ie}) who have developed a + sophisticated solution. +\item It is true that some publications need, and can afford, the + detailed level of hand-crafted design that an interactive system can + provide when used by a skilled operator; however I imagine that, for + example, you do not typeset your dictionaries on such a + system---there is an important part of publishing where highly + automated and high quality typesetting is needed and this includes a + lot of technical publishing where accuracy of layout is too vital to + be left to individual operators. +\end{enumerate} +We appreciate Richard's points, but what exactly do you (our members) +and those of TUG, want us to do? The various \TeX\ user groups are +aware of these issues, but they do not control software development, +and largely act as communication channels and meeting points. We (the +\ukt\ committee) very much welcome suggestions and guidance about +actions you think we can take. + +%\section{Coming up} +%Would you believe that Fig.~\ref{stereo} came from a set of \TeX\ +%macros? Details in a future issue of Tugboat or \BV. +% +%\begin{figure*} +%\centerline{\epsfig{figure=stereo.ps,clip}} +%\caption{``Autostereogram'' generated using \TeX\ by Jacques Richer + %(Montreal)} +%\label{stereo} +%\end{figure*} +\end{article} diff --git a/usergrps/uktug/baskervi/5_3/files b/usergrps/uktug/baskervi/5_3/files new file mode 100644 index 0000000000..cebc18ca5b --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/files @@ -0,0 +1,8 @@ +CM PK files after pruning: 476 4016k
+PS PK files after pruning: 3558 7079k (includes CM)
+TFM files: 513 880k
+vf files: 177 405k
+STY files 186 1380k
+CLS 86 3552
+EXE files: 60, 3771 > 38, 2617
+
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/5_3/form.tex b/usergrps/uktug/baskervi/5_3/form.tex new file mode 100644 index 0000000000..0857a34ad7 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/form.tex @@ -0,0 +1,72 @@ +%%%start of form for chair +\newcommand{\NL}{\\[0.7\baselineskip]} +\begin{multicols}{2} +\noindent +\FullLine{} +{\bf Election for chair}\NL +\FullLine{Name of Nominee:} +\FullLine{Address:} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +I declare that I am a member of \ukt\ and am +willing to stand for election for the chair of \ukt\ +for 1995--97. +\NL +\HalfLine{Signature:}\hspace{2em}Date: \hrulefill\NL +\FullLine{Name of Nominator:} +\FullLine{Address:} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +I declare that I am a member of \ukt\ and that I nominate the above-named +person for the chair of \ukt\ for 1995--97. +\NL +\HalfLine{Signature:}\hspace{2em}Date: \hrulefill\NL +\FullLine{Name of Seconder:} +\FullLine{Address:} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +I declare that I am a member of \ukt\ and that I second the nomination of the +above-named +person for the chair of \ukt\ for 1995--97. +\NL +\HalfLine{Signature:}\hspace{2em}Date: \hrulefill\NL +%%%end of form for chair + +%%%start of form for committee members +\noindent +\FullLine{} +{\bf Election for committee member}\NL +\FullLine{Name of Nominee:} +\FullLine{Address:} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +I declare that I am a member of \ukt\ and am +willing to stand for election to the Committee of \ukt\ +for 1995--96. +\NL +\HalfLine{Signature:}\hspace{2em}Date: \hrulefill\NL +\FullLine{Name of Nominator:} +\FullLine{Address:} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +I declare that I am a member of \ukt\ and that I nominate the above-named +person for election to the Committee of \ukt\ for 1995--96. +\NL +\HalfLine{Signature:}\hspace{2em}Date: \hrulefill\NL +\FullLine{Name of Seconder:} +\FullLine{Address:} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +\FullLine{\phantom{Address:}} +I declare that I am a member of \ukt\ and that I second the nomination of the +above-named +person for election to the Committee of \ukt\ for 1995--96. +\NL +\HalfLine{Signature:}\hspace{2em}Date: \hrulefill\NL +%%%end of form for committee members +\end{multicols} diff --git a/usergrps/uktug/baskervi/5_3/goossens.tex b/usergrps/uktug/baskervi/5_3/goossens.tex new file mode 100644 index 0000000000..15fe1a70cb --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/goossens.tex @@ -0,0 +1,570 @@ +\newcommand{\Lit}[1]{\texttt{#1}} +\let\Lfn\Lit +\let\fn\Lit +\let\vref\ref + +\title{Using Adobe Type 1 Multiple Master fonts with \protect\TeX} +\author[Michel Goossens and Sebastian Rahtz]{Michel Goossens\\ +CERN, Geneva\\\texttt{m.goossens@cern.ch}\\ and\\ +Sebastian Rahtz\\Elsevier Science Ltd\\\texttt{s.rahtz@elsevier.co.uk}} +\begin{Article} + +\section{Introduction} +The multiple master font format is an extension of the Type 1 font +format, which allows the generation of a wide variety of typeface +styles from a single font program. This capability allows users and +applications control over the typographic parameters of +fonts used in their documents, in a manner reminiscent of Knuth's +ground-breaking \MF. This article describes the multiple master system +in some detail, and describes the procedures needed to make instances, +and create the appropriate font metrics for use with \TeX. + +\section{Multiple Master overview} +A multiple master font program contains two or more outline typefaces +called \emph{master designs}, which describe one or more \emph{design + axes}. The master designs that constitute a design axis represent a +dynamic range of one typographic parameter, such as the weight or +width. This range of styles is defined in a multiple master font +program by specifying one master design to represent each end of an +axis, such as a \emph{light} and \emph{extra-bold} weight, as well as +any \emph{intermediate master designs} that are required. The maximum +number of master designs allowed is sixteen. + +A \emph{font instance} +consists of a font dictionary derived from the multiple master +font program (or from another font instance). +It contains a \Lit{WeightVector} +array with \emph{k} values that sum to 1.0 and +which determine the relative contributions of each master design +to the resulting interpolated design. + +All derived font instances share the \Lit{CharStrings} dictionary and +\Lit{Subrs} array of the main multiple master font program, making it +relatively economical to generate a variety of font instances. +Multiple master fonts can be made compatible with the installed base +of PostScript language interpreters by including several PostScript +language procedures and a new set of \Lit{OtherSubrs} routines in the +font program. The procedures include the new \Lit{makeblendedfont} +operator, the interpolation procedure \Lit{\$Blend} and a new +definition of the \Lit{findfont} operator. + +\subsection{Multiple Master Design Space} + +It is possible to think of the master designs as being arranged in a +1, 2, 3, or 4 dimensional space with various font instances +corresponding to different locations in that space. The entries in +the \Lit{FontInfo} dictionary specify what this space is and where the +master designs are located in it. This information is necessary for +interactive programs that allow users to create new font instances, +and should be included in the font's s Adobe Multiple Font Metrics +(\Lfn{AMFM}) file. + +\begin{figure*} +\begin{minipage}{.5\textwidth} +\centerline{\epsfig{file=mmdesign.eps,width=.8\linewidth}} +\caption{Multiple master typeface design space arrangement} +\label{fig:MMdesignspace} +\end{minipage} +\begin{minipage}{.5\textwidth} +\centerline{\epsfig{file=mmfour.eps,width=.8\linewidth}} +\caption{Arrangement of the multiple master design space + for a four axis font} +\label{fig:MMfouraxes} +\end{minipage} +\end{figure*} + +Fig.~\ref{fig:MMdesignspace} illustrates an example of the design +space of a three axis multiple master font. In this example, the axes +are \emph{weight}, \emph{width}, and \emph{optical} size. It is +recommended that a font program be organized to have the lightest +weight, narrowest width, and smallest design size mapped to the origin +of the blend space. + +Multiple master coordinates are of two types: those which represent +the design space and those which represent the blend space. Design +coordinates are integers whose range for a particular typeface is +chosen by the designer. They are used in font names and in the user +interface for software which creates and manipulates multiple master +font programs. The theoretical range for a weight or width axis is +from 1 to 999 design units; however a typical typeface, with styles +ranging from light to black, might have a dynamic range of from 200 +(for light) to 800 units (for black). + +Another type of optional axis would be for optical size, in which the +character design changes with the point size. The design coordinates +for the optical size axis might have a dynamic range of from 6- to +72-point, which represents the practical extremes of sizes for +typefaces designed for publishing purposes. + +\emph{Blend coordinates} are normalized values, in the range of 0 to +1, which correspond to the minimum and maximum design space +coordinates. They are used by the Type~1 rasterizer because they are +more convenient for mathematical manipulations. The linear space of +blend coordinates is related to the (potentially) non-linear space of +the design coordinates by the \Lit{BlendDesignMap} entry in the font +dictionary. + + +Fig.~\vref{fig:MMfouraxes} illustrates how a four axis design might +be represented. An example of a fourth axis would be having an axis +for a typographic style (serif/sans serif) or contrast (high/low: the +ratio of thick to thin stem widths). This diagram illustrates that if +four axes are defined, sixteen master designs are required. Also, +since sixteen is the maximum number of designs allowed, there can be +no intermediate designs with four axes. + +\section{Multiple Master Font Programs} + +Multiple master typefaces may contain from two to sixteen master +designs, organized as having from one to four design axes. +The maximum number of master designs allowed in a multiple master +font is expressed by the equation \(2^n + x = 16\), where +\(n\) is the number of design axes, \(x\) is the number of +intermediate designs, and 16 is the maximum allowed number of +master designs. + +The values used for calculating the weighted average are stored in the +font dictionary in an array named \Lit{WeightVector}. The multiple +master font program, as shipped by the font vendor, can have a default +setting for the \Lit{WeightVector}; it is recommended that it is set +so the default font instance will be the normal roman design for that +typeface. + +\subsection{Multiple Master Keywords} + +\Lit{BlendAxisTypes} is a (required) array of \emph{n} +PostScript language strings where \emph{n} +is the dimensionality of the design space and hence the number of +axes. +Each string specifies the corresponding axis type. +In the case of 3-axis example, this value would be: +\begin{verbatim} +/BlendAxisTypes [/Weight /Width /OpticalSize] +\end{verbatim} + +\Lit{BlendDesignPositions} is a (required) array of \emph{k} arrays +giving the locations of the \emph{k} master designs in the design +space. Each location subarray has \emph{n} numbers giving the +location of the design in the \emph{n} dimensions of the design space, +with a minimum value of zero and a maximum value of one. +Table~\vref{tab:MMdesign} with eight master designs is based on the +example shown in Fig.~\vref{fig:MMdesignspace}. It corresponds to +the design space for the Minion 3-axis multiple master font. + +\begin{table*} +\centering +\begin{tabular}{@{}l@{\qquad}l} +\hline +\emph{Design label} & \emph{Blend space coordinates} \\ +\hline +design 1: light condensed small & 0 0 0 \\ +design 2: black condensed small & 1 0 0 \\ +design 3: light expanded small & 0 1 0 \\ +design 4: black expanded small & 1 1 0 \\ +design 5: light condensed large & 0 0 1 \\ +design 6: black condensed large & 1 0 1 \\ +design 7: light expanded large & 0 1 1 \\ +design 8: black expanded large & 1 1 1 \\ +\hline +\end{tabular} +\caption{Design labels and blend space values for the Minion 3-axis multiple master font} +\label{tab:MMdesign} +\end{table*} + +The \Lit{BlendDesignPositions} array corresponding to this +case is: +\begin{verbatim} +/BlendDesignPositions + [[0 0 0][1 0 0][0 1 0][1 1 0] + [0 0 1][1 0 1][0 1 1][1 1 1]] def +\end{verbatim} + +\Lit{BlendDesignMap} is a required entry consisting +of an array of \emph{n} arrays where \emph{n} +is the dimensionality of the design space. +Each array contains \emph{m} subarrays +that describe the mapping of design coordinates into +normalized coordinates for that design axis. +The minimum value allowed for \emph{m} is two, +and the maximum is twelve. +The order of the subarrays corresponds to the order +of design axes in \Lit{BlendAxisTypes}. +In the case of the Minion font this array is +three dimensional ($n=3$) and has the following +form: + +\begin{small} +\begin{verbatim} +/BlendDesignMap [ + [[345 0] [620 1]] [[450 0] [600 1]] + [[6 0] [8 0.35] [11 0.5] [18 0.75] [72 1]] ] +\end{verbatim} +\end{small} +The first number in an individual subarray is in design coordinates +with a minimum value of 1 and a maximum value of 999. The second +number in the subarray is in normalized coordinates, that is, in the +range of 0 to 1. In the above example, the weight ranges from 345 to +620, while the width ranges from 450 to 600 in design space. The +third axis, optical size, ranges from 6 to 72 (corresponding to the +point sizes for which the typeface can be adjusted for optimal +legibility). + +\subsection{The \texttt{makeblendedfont} Operator} + +\noindent\fbox{\textit{blendedfontdict weightvector} + \textbf{makeblendedfont} \textit{blendedfontdict}} + +This operator creates a font dictionary with blended entries. +The \textit{blendedfontdict} argument is a font dictionary of +an existing multiple master font; it can be from either the +original multiple master font itself, or from an interpolated font +instance since any \Lit{Blend} dictionary contains all elements +needed to derive additional font instances. + +The \textit{weightvector} argument is an array of numbers summing to +1.0 to be used as the weights for creating the new font instance. The +value of \Lit{WeightVector} in \textit{blendedfontdict'} is set to the +values in the array weightvector. Blended values are calculated for +entries in the \Lit{Private} and \Lit{FontInfo} dictionaries. The +result is a font dictionary that can be used as an argument to +\Lit{definefont}. The resulting dictionary and its contents are still +read-write, so the caller of \Lit{makeblendedfont} can make further +modifications if necessary. + +The \Lit{Blend} dictionary data structures provide the +information needed by the \Lit{makeblendedfont} +operator, without needing to have the specific +list of entries to be blended built into the procedure. +This allows a single copy of the procedure to be used even +if the set of entries to be blended varies in future fonts. + +\subsection{Multiple Master findfont Procedure} + +Multiple master font programs from Adobe include a procedure which +redefines the \Lit{findfont} operator in \Lit{systemdict}. This is +necessary because of the need to generate font instances on-the-fly to +satisfy multiple master font references in a PostScript language +document. The procedure creates all necessary font instances before +calling the standard \Lit{findfont} procedure. + +Two procedures, +\Lit{NormalizeDesignVector} and \Lit{ConvertDesignVector}, +which are referenced in \Lit{findfont}, must be +configured for the number of axes and master designs in the font +program in which they are used. The \Lit{NormalizeDesignVector} +procedure must calculate the normalized equivalent of the design +coordinates in the FontName, using the values in the +\Lit{BlendDesignMap} array. These normalized coordinates must be left +on the stack for the \Lit{ConvertDesignVector} procedure. This +procedure should take the normalized coordinates, generate +\Lit{WeightVector} values, and leave them on the stack for the +\Lit{makeblendfont} operator. +\begin{figure*} +\begin{small} +\begin{verbatim} +/y 140 def +300 100 700 % outer loop on width>>>>>>>>>>>>+ + { /x 25 def % reset x v + /y y 25 sub def % calculate y v + /Wi exch def % width from for loop<<+ + 220 100 820 % inner loop on weight>>>>>>>>>>>+ + { x y moveto % go to new coordinate v + /We exch def % weight from for loop<<+ + /MM /MyriadMM findfont dup begin [ + We Wi NormalizeDesignVector ConvertDesignVector + ] end makeblendedfont definefont 20 scalefont setfont + (Hxkp) show + /x x 55 add def % recalculate x + } for + } for +\end{verbatim} +\end{small} +\caption[PostScript code to instantiate a multiple master font]% + {PostScript code for generating a + a two-dimensional matrix showing instances of the multiple + master font Myriad} +\label{fig:minionprogram} + +\begin{minipage}{.5\textwidth} +\centering\epsfig{file=myriad.eps,width=\textwidth} +\caption[Two dimensional matrix showing multiple master Myriad font]% + {Two dimensional grid showing various instances of the two + axes multiple master Myriad sans serif font. } +\label{fig:minionmatrix} +\end{minipage} +\begin{minipage}{.5\textwidth} +\centering\epsfig{file=minion.eps,width=\textwidth} +\caption[The three axes multiple master Minion serif font]% + {The three axes multiple master Minion serif font. + \begin{small}The top line shows various optical sizes (6pt, 8pt, + 11pt, 18pt, 40pt, and 72pt) normalized to 20pt. + The bottom matrix shows various weights + (increasing from left to right) and widths + (increasing from top to bottom).\end{small}} +\label{fig:myriadmatrix} +\end{minipage} +\end{figure*} + +\section{Using Multiple master fonts with \TeX{}} + +Multiple master fonts come with a set of multiple master AFM +files, which are called ``AMFM'' (Adobe Master Font Metrics) files. +This file contains information about the number of master designs, +the number of axes, the \texttt{BlendDesignPositions} and +\texttt{BlendDesignMap} arrays, as well as the names, and \texttt{weightvector} +for the master designs, from which all font instances are derived. + +To get the actual metric information for the characters in a font +instance, one has to combine the metric information of the +master designs (eight, in the case of Minion). +To do this one needs to calculate the \texttt{weightvector} for the +given instance. Starting from design-coordinate space one can use the +\texttt{NormalizeDesignVector} operator to transform to the normalized +coordinate space, and from there with the \texttt{ConvertDesignVector} +operator one obtains the weightvector. +These two operators are particular to a font (since they depend +on the master designs), and are present in the multiple master +font dictionary. One can decode the \PS{} code for calculating +the weightvector and translate it into another +computer language, and then use the procedure to combine the +values in the AFM files for the master designs to calculate +the values needed for the font instance. +For instance, in the case of the MinionMM font, the \PS{} code +defines the eight components of the weightvector +as follows: + +\[ +\begin{array}{ccc@{\quad}ccc} +w_1 & = & x y z& w_2 & = & (1-x) y z \\ +w_3 & = & x (1-y) z & w_4 & = & (1-x) (1-y) z \\ +w_5 & = & x y (1-z) & w_6 & = & (1-x) y (1-z) \\ +w_7 & = & x (1-y) (1-z) & w_8 & = & \sum_{n=1}^7 w_n +\end{array} +\] +where $x$ is the normalized weight, $y$ the normalized +width, and $z$ the normalized optical size. + +These eight numbers $w_i$ allow the calculation of all needed +parameters in an \fn{afm} file for a font instance. +One reads each parameter value in turn in the +eight master design \fn{afm} files, applies the relevant weight, +and the weighted sum thus obtained is the desired interpolated +value of the given parameter for the font instance. + +Myriad is a sans serif companion font to Minion. +It has two design axes and four master designs. +The weights for deriving font-instance parameters in +normalized coordinate space in function of +the four master designs are given by: +\[ +\begin{array}{ccc@{\quad}ccc} +w_1 & = & (1-x)(1-y)& w_2 & = & (1-x) y \\ +w_3 & = & x (1-y) & w_4 & = & xy +\end{array} +\] +where $x$ is the normalized weight and $y$ the normalized +width. +The corresponding mapping parameters between design space and +normalized coordiantes are: + +\begin{verbatim} +BlendDesignPositions [ [0 0] [1 0] [0 1] [1 1] ] +BlendDesignMap [[[215 0][830 1]][[300 0][700 1]]] +BlendAxisTypes [/Weight /Width ] +\end{verbatim} + +Now one can extract any of the boundingbox and kern entries for +a given font instance by getting the element in question from +the eight (or four, in the case of Myriad) master files and +calculating the interpolated value. +To make matters simpler an explicit example will be given for +the Myriad font, since it involves only four numbers in each case. +Fig.~\vref{fig-Myriadcalculate-afm} shows some parts of the +four master-design \fn{afm} files +%% 1322 7802 26322 afm/MyriaMMLigCn.AFM +%% 1322 7802 26322 afm/MyriaMMBlaCn.AFM +%% 1322 7803 26489 afm/MyriaMMLigSemEx.AFM +%% 1322 7803 26731 afm/MyriaMMBlaSemEx.AFM +\begin{figure*} +\begin{tiny} +\begin{multicols}{4} +\begin{verbatim} +FontName MyriadMM-LightCn +FamilyName Myriad MM +Weight Light +ItalicAngle 0 +IsFixedPitch false +FontBBox -52 -250 970 818 +... +StartKernPairs 974 +KPX A z 10 +KPX A y -31 +KPX A x 4 +KPX A w -36 +KPX A v -42 +KPX A u -9 +KPX A t -17 +KPX A s 0 +KPX A r -4 +KPX A quoteright -90 +KPX A quotedblright -90 +KPX A q -9 +KPX A p -4 +KPX A o -12 + ... +EndKernPairs +\end{verbatim} +\newpage +\begin{verbatim} +StartFontMetrics 2.0 +FontName MyriadMM-BlackCn +FamilyName Myriad MM +Weight Black +ItalicAngle 0 +IsFixedPitch false +FontBBox -64 -250 970 843 +... +StartKernPairs 974 +KPX A z 10 +KPX A y -10 +KPX A x 0 +KPX A w -10 +KPX A v -10 +KPX A u 0 +KPX A t 0 +KPX A s 10 +KPX A r 0 +KPX A quoteright -20 +KPX A quotedblright -20 +KPX A q 0 +KPX A p 0 +KPX A o 0 + ... +EndKernPairs +\end{verbatim} +\newpage +\begin{verbatim} +FontName MyriadMM-LightSemiEx +FamilyName Myriad MM +Weight Light +ItalicAngle 0 +IsFixedPitch false +FontBBox -58 -250 1100 825 +... +StartKernPairs 974 +KPX A z 25 +KPX A y -10 +KPX A x 0 +KPX A w -10 +KPX A v -25 +KPX A u -10 +KPX A t 0 +KPX A s -10 +KPX A r 0 +KPX A quoteright -30 +KPX A quotedblright -30 +KPX A q -10 +KPX A p 0 +KPX A o -10 + ... +EndKernPairs +\end{verbatim} +\newpage +\begin{verbatim} +FontName MyriadMM-BlackSemiEx +FamilyName Myriad MM +Weight Black +ItalicAngle 0 +IsFixedPitch false +FontBBox -48 -250 1432 867 +... +StartKernPairs 974 +KPX A z 7 +KPX A y -44 +KPX A x -6 +KPX A w -47 +KPX A v -62 +KPX A u -22 +KPX A t -32 +KPX A s -6 +KPX A r -10 +KPX A quoteright -90 +KPX A quotedblright -90 +KPX A q -18 +KPX A p -10 +KPX A o -18 + ... +EndKernPairs +\end{verbatim} +\end{multicols} +\end{tiny} +\caption{The four \fn{afm} files for the Myriad master designs} +\label{fig-Myriadcalculate-afm} + \centerline{\epsfig{figure=mmblowup.eps,width=.6\textwidth}} +\caption{Minion instances from opposite ends of the optical size axis + set at the same size (exaggerated)} +\label{mmblowup} +\end{figure*} + +When the instance \fn{afm} file has been created, a suitable metric +for \TeX\ can be built with \Lit{afm2tfm} or the \emph{fontinst} +package. + +\section{In practice} +We have instantiated the ideas outlined above by developing Unix shell +scripts, and adapting an AFM-parsing program distributed by Adobe. +The main script takes the following actions: +\begin{enumerate} +\item create a small PostScript file to invoke multiple master operators +with values passed to the script; +\item run GhostScript on this file to derive normalized weights, and + write them to a temporary file; +\item run our ``mmafm'' program to read master AFM files, write a + new instance AFM file, and create a \TeX\ metric (our initial setup + uses \Lit{afm2tfm} to create 8r base-encoded metrics, and EC-encoded + virtual fonts for actual use); +\item write a \Lit{dvips} map entry and header file to tell the driver + about the new font. +\end{enumerate} +Thus a call to our script consists of the parameters \texttt{MinionMM + zmnl8ac6 360 460 6}; this creates a metric file called +\Lit{zmnl8ac6}, using Karl Berry's scheme to name ``Minion, light +weight, 8a-encoded, condensed, at 6pt design size''. The entry in the +map file reads \texttt{zmnl8rc6 zmnl8ac6 " TeXBase1Encoding + ReEncodeFont " <8r.enc <MinionMM.pfb <zmnl8ac6.pro}, and +\Lit{zmnl8ac6.pro} contains the code: +\begin{verbatim} +/zmnl8ac6 /MinionMM findfont +dup begin [ + 360 460 6 NormalizeDesignVector + ConvertDesignVector + ] end makeblendedfont definefont +\end{verbatim} +In addition, we hand-wrote ``fd'' files to tell \LaTeX\ how to match +up the various weight and width instances we created to its notions of +series and shape. The only complication here was that the Minion font +has an optical size axis, and we built four instances which we wanted +\LaTeX\ to use at different user sizes: +\begin{verbatim} +\DeclareFontShape{T1}{zmn}{lc}{n}{% + <-7>zmnl8tc6 % + <7-10>zmnl8tc8 % + <10-15>zmnl8tc11 % + <15->zmnl8tc18} +{} +\end{verbatim} +The effect of the optical sizes is demonstrated by Fig.~\ref{mmblowup} +which shows the 6pt and 18pt instances scaled to the same size. The +differences in design are as apparent as a corresponding examples +from Computer Modern would be. + +The tools we developed served to test the ideas, and build a set of +metrics; they are available from us on request, but users should +beware that they are neither intuitive in use, nor robust. It is to be +hoped that a more functional, portable, solution will be developed in +time. The keen \TeX xie may be interested in developing a +\Lit{MakeTeXTFM} script for Unix \Lit{web2c} systems to apply the +programs on the fly from within \TeX. +\afterpage{\clearpage} +\end{Article} +\endinput diff --git a/usergrps/uktug/baskervi/5_3/group.tex b/usergrps/uktug/baskervi/5_3/group.tex new file mode 100644 index 0000000000..49a781c2f1 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/group.tex @@ -0,0 +1,41 @@ +%\newenvironment{meeting}{\begin{trivlist}\item[]$\bullet$}{\end{trivlist}} +%\newcommand{\squad}{\hspace{10pt plus1pt minus1pt}} +\begin{multicols}{2} +\title{The UK \TeX\ Users Group} +\author{} +\begin{article} +\section{Group aims and activities} +The \ukt\ was founded in 1989; its activities and benefits include: +\begin{itemize} + \item Regular meetings covering both \TeX{}nical matters and general +typographic subjects; + \item Visits to publishers, font suppliers and book producers; + \item In-depth workshops, with hands-on computer sessions where +appropriate; + \item Negotiation of discounts on \TeX\ relevant books with publishers. + \item Distribution of public domain \TeX\ implementations (in +cooperation with the international \TeX\ archives); + \item Discount on joint UK \TeX\ Users Group/TUG membership; + \item Reduction in conference fees for the TUG annual meeting and the +annual European meetings; + \item The publication and distribution of \BV\ (the annals of +the UK \TeX\ Users Group). + \end{itemize} + +\section{Programme of meetings for 1995} +\begin{description} +\item[July, 1995] (\TeX\ Users Group Annual Meeting in Florida) +\item[August, 1995:] em\TeX\ in depth: +a training meeting on MSDOS \TeX, with Sebastian Rahtz +Location: Oxford. +\item[September, 1995] (Euro\TeX\ meeting in the Netherlands) +\item[October 1995:] AGM, at Queen Mary and Westfield College, +University of London, with sessions on `non-traditional' \TeX. +\end{description} + +\noindent All members of \ukt{} will be provided with more details of +these meetings as they become available. Reports of the meetings will +appear in \BV, the organ of the group. + +\end{article} +\end{multicols} diff --git a/usergrps/uktug/baskervi/5_3/honmem.tex b/usergrps/uktug/baskervi/5_3/honmem.tex new file mode 100644 index 0000000000..c7d9aa1744 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/honmem.tex @@ -0,0 +1,31 @@ +\title{Honorary Member} +\author{} +\begin{Article} + + +In November 1991 the Committee of the \ukt\ +decided to award Honorary Life Membership of the Group +to Malcolm Clark in recognition of his efforts and achievements in the creation +and establishment of the \ukt. + +It had been planned to announce this at the 1992 AGM. Unfortunately, Malcolm, +who knew nothing about this, did not attend that AGM, so the announcement was +postponed. For various reasons, including the chair's continuing illness, the +secretary's incompetence and the arrangements for TUG~'93 in Aston, the issue +was shelved. However, we are now delighted to announce the award, +however belatedly, and we apologize to Malcolm for the delay. + +Members may note that +Clause~15~(2) of the constitution empowers the Committee to award Honorary +Membership (so long as the total number of such members does not exceed~25); +and also that the Committee at the time consisted of the following persons: +Peter Abbott (chair), Ian Hall (treasurer), Rosemary Bailey (secretary), +David Penfold (membership secretary), Sue Brooks, Geeti Granger, +David Eckersley, Carol Hewlett, James Petts, +Philip Taylor. +\begin{flushright} +R. A. Bailey\\ +Honorary Secretary 1991--1995 +\end{flushright} + +\end{Article} diff --git a/usergrps/uktug/baskervi/5_3/info-int.pic b/usergrps/uktug/baskervi/5_3/info-int.pic new file mode 100644 index 0000000000..8d4358072c --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/info-int.pic @@ -0,0 +1,14 @@ +\unitlength=1.00mm +\linethickness{0.4pt} +\begin{picture}(95.00,32.00) +\put(1.00,18.00){\framebox(22.00,11.00)[cc]{\shortstack{local\\layer}}} +\put(1.00,9.00){\framebox(22.00,7.00)[cc]{ASCII}} +\put(24.00,20.00){\vector(1,0){10.00}} +\put(35.00,14.00){\framebox(24.00,12.00)[cc]{information}} +\put(60.00,20.00){\vector(1,0){10.00}} +\put(71.00,14.00){\framebox(24.00,11.00)[cc]{typography}} +\put(47.00,14.00){\line(0,-1){6.00}} +\put(48.00,8.00){\oval(2.00,2.00)[bl]} +\put(48.00,7.00){\vector(1,0){9.00}} +\put(58.00,7.00){\makebox(0,0)[cl]{use for communication}} +\end{picture} diff --git a/usergrps/uktug/baskervi/5_3/info-ome.pic b/usergrps/uktug/baskervi/5_3/info-ome.pic new file mode 100644 index 0000000000..477c91ebeb --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/info-ome.pic @@ -0,0 +1,18 @@ +\unitlength=1.00mm +\linethickness{0.4pt} +\begin{picture}(95.00,32.00) +\put(1.00,15.00){\framebox(22.00,14.00)[cc]{\shortstack{Input\\encoding}}} +\put(24.00,21.00){\vector(1,0){10.00}} +\put(35.00,15.00){\framebox(24.00,14.00)[cc]{\shortstack{information\\ + (Unicode)}}} +\put(60.00,21.00){\vector(1,0){10.00}} +\put(71.00,16.00){\framebox(24.00,11.00)[cc]{typography}} +\put(42.00,15.00){\line(0,-1){6.00}} +\put(43.00,9.00){\oval(2.00,2.00)[bl]} +\put(43.00,8.00){\line(1,0){8.00}} +\put(51.00,9.00){\oval(2.00,2.00)[br]} +\put(52.00,9.00){\vector(0,1){6.00}} +\put(29.00,23.50){\makebox(0,0)[cc]{\small OTP}} +\put(65.00,23.50){\makebox(0,0)[cc]{\small OTP}} +\put(47.00,10.50){\makebox(0,0)[cc]{\small OTP}} +\end{picture} diff --git a/usergrps/uktug/baskervi/5_3/minion.eps b/usergrps/uktug/baskervi/5_3/minion.eps new file mode 100644 index 0000000000..f2adb0cc4d --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/minion.eps @@ -0,0 +1,43 @@ +%! Showfonti.ps +%%BoundingBox: 24 15 350 192 +%%Title: (Print a series of words going along two axes) +%%Creator: Michel Goossens CERN CN/ASD +%%CreationDate: Feb. 15th 1994 +%%DocumentNeededResources: font(s) defined by user +%%EndComments +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% MAIN ROUTINE % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +/y 170 def +/x 25 def + +[6 8 11 18 40 72]% loop on optical size>>>>>>>>>>>>>+ + { % v + x y moveto % go to new coordinate v + /Si exch def % Size from forall loop<<+ + /MM /MinionMM findfont dup begin [ + 400 500 Si NormalizeDesignVector ConvertDesignVector + ] end makeblendedfont definefont 20 scalefont setfont + (Hxkp) show + /x x 55 add def % calculate x + } forall + +450 30 600 % outer loop on width>>>>>>>>>>>>>+ + { % v + /x 25 def % reset x v + /y y 25 sub def % calculate y v + /Wi exch def % width from for loop<<+ + 360 50 610 % inner loop on weight>>>>>>>>>>>>+ + { % v + x y moveto % go to new coordinate v + /We exch def % weight from for loop<<+ + /MM /MinionMM findfont dup begin [ + We Wi 72 NormalizeDesignVector ConvertDesignVector + ] end makeblendedfont definefont 20 scalefont setfont + (Hxkp) show + /x x 55 add def % calculate x + } for + } for +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/5_3/mm.sty b/usergrps/uktug/baskervi/5_3/mm.sty new file mode 100644 index 0000000000..b8ab603e78 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/mm.sty @@ -0,0 +1,5 @@ +\RequirePackage[T1]{fontenc} +\def\rmdefault{zmn} +\def\sfdefault{zmy} +\def\ttdefault{cmtt} +\endinput
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/5_3/mmblowup.eps b/usergrps/uktug/baskervi/5_3/mmblowup.eps new file mode 100644 index 0000000000..03373ec7fb --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/mmblowup.eps @@ -0,0 +1,2349 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: foo.eps +%%Creator: XV Version 3.00 Rev: 3/30/93 - by John Bradley +%%BoundingBox: -125 41 723 809 +%%Pages: 1 +%%DocumentFonts: +%%EndComments +%%EndProlog + +%%Page: 1 1 + +% remember original state +/origstate save def + +% build a temporary dictionary +20 dict begin + +% define string to hold a scanline's worth of data +/pix 106 string def + +% lower left corner +-125 41 translate + +% size of image (on paper, in 1/72inch coords) +848.01600 768.02400 scale + +% dimensions of data +848 768 1 + +% mapping matrix +[848 0 0 -768 0 768] + +{currentfile pix readhexstring pop} +image +fff00000000000000000000001fffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000001fffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000001fffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000001fffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000001fffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000001fffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007fffffffffffffffffffffffffffffffffffffffffe00 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff0000000000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe0000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe0000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe0000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe0000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffe0000000000000000007ffffffffffffffffffffffffffffffffffffffffc000 +000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000000003ffffffffffffffffffffffffffffffffffffff00000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000000003ffffffffffffffffffffffffffffffffffffff00000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000000003ffffffffffffffffffffffffffffffffffffff00000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000000003ffffffffffffffffffffffffffffffffffffff00000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000000003ffffffffffffffffffffffffffffffffffffff00000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003ffffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003ffffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003ffffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003ffffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003ffffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00000000000000000fffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00000000000000000fffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00000000000000000fffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00000000000000000fffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00000000000000000fffffffffffffffffffffffffffffffffffff00000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000000 +000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff8000000000000000fffffffffffffffffffffffffffffffffffc000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff800000000000000003ffffffffffffffffffffffffffffffff80000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff800000000000000003ffffffffffffffffffffffffffffffff80000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff800000000000000003ffffffffffffffffffffffffffffffff80000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff800000000000000003ffffffffffffffffffffffffffffffff80000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff800000000000000003ffffffffffffffffffffffffffffffff80000007 +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003f000000000003ffffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003f000000000003ffffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003f000000000003ffffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003f000000000003ffffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003f000000000003ffffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffff800001ff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffc00000000001fffffffffffffffffffffffffffffe000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffff000000000007ffffffffffffffffffffffffff80000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffff000000000007ffffffffffffffffffffffffff80000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffff000000000007ffffffffffffffffffffffffff80000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffff000000000007ffffffffffffffffffffffffff80000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff80003ffff000000000007ffffffffffffffffffffffffff80000003fff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007ffffffffffffffffffffffffff800000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007ffffffffffffffffffffffffff800000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007ffffffffffffffffffffffffff800000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007ffffffffffffffffffffffffff800000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007ffffffffffffffffffffffffff800000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007fffffffffffffffffffffffff0000000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffe0000001ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007fffffffffffffffffffffffff0000000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffe0000001ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007fffffffffffffffffffffffff0000000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffe0000001ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007fffffffffffffffffffffffff0000000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffe0000001ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007fffffffffffffffffffffffff0000000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffe0000001ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003ffff000000000007fffffffffffffffffffffffff0000000fffff +e00000000000ffffffffffffffffffffffffffffffffffffffffffe0000001ffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffffffff800000000000000000007fffff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffffffff800000000000000000007fffff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffffffff800000000000000000007fffff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffffffff800000000000000000007fffff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffffffff800000000000000000007fffff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffff000000000000000000000000000fff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffff000000000000000000000000000fff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffff000000000000000000000000000fff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffff000000000000000000000000000fff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff800000000001ffffffffffffffffffffffff000003ffffff +e00000000000ffffffffffffffffffffffffffffff000000000000000000000000000fff +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff8000000000000fffffffffffffffffffffc0000003ffffff +e00000000000ffffffffffffffffffffffffffffc000000000000000000000000000003f +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff8000000000000fffffffffffffffffffffc0000003ffffff +e00000000000ffffffffffffffffffffffffffffc000000000000000000000000000003f +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff8000000000000fffffffffffffffffffffc0000003ffffff +e00000000000ffffffffffffffffffffffffffffc000000000000000000000000000003f +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff8000000000000fffffffffffffffffffffc0000003ffffff +e00000000000ffffffffffffffffffffffffffffc000000000000000000000000000003f +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003fffff8000000000000fffffffffffffffffffffc0000003ffffff +e00000000000ffffffffffffffffffffffffffffc000000000000000000000000000003f +fffffffffe000000000000000000000000001ffffffff80000000000000000000000 +fffffffffffff000003ffffffe00000000000fffffffffffffffffffffc000007fffffff +e00000000000fffffffffffffffffffffffffe00000000000ffffffffc00000000000001 +ffffffffffffff0000000000000000003ffffffffffffffffe00000000000001ffff +fffffffffffff000003ffffffe00000000000fffffffffffffffffffffc000007fffffff +e00000000000fffffffffffffffffffffffffe00000000000ffffffffc00000000000001 +ffffffffffffff0000000000000000003ffffffffffffffffe00000000000001ffff +fffffffffffff000003ffffffe00000000000fffffffffffffffffffffc000007fffffff +e00000000000fffffffffffffffffffffffffe00000000000ffffffffc00000000000001 +ffffffffffffff0000000000000000003ffffffffffffffffe00000000000001ffff +fffffffffffff000003ffffffe00000000000fffffffffffffffffffffc000007fffffff +e00000000000fffffffffffffffffffffffffe00000000000ffffffffc00000000000001 +ffffffffffffff0000000000000000003ffffffffffffffffe00000000000001ffff +fffffffffffff000003ffffffe00000000000fffffffffffffffffffffc000007fffffff +e00000000000fffffffffffffffffffffffffe00000000000ffffffffc00000000000001 +ffffffffffffff0000000000000000003ffffffffffffffffe00000000000001ffff +fffffffffffff000003ffffffe00000000000ffffffffffffffffffff00000007fffffff +e00000000000ffffffffffffffffffffffff80000000007fffffffffffffc00000000000 +07fffffffffffffff000000000000007ffffffffffffffffffffc00000000fffffff +fffffffffffff000003ffffffe00000000000ffffffffffffffffffff00000007fffffff +e00000000000ffffffffffffffffffffffff80000000007fffffffffffffc00000000000 +07fffffffffffffff000000000000007ffffffffffffffffffffc00000000fffffff +fffffffffffff000003ffffffe00000000000ffffffffffffffffffff00000007fffffff +e00000000000ffffffffffffffffffffffff80000000007fffffffffffffc00000000000 +07fffffffffffffff000000000000007ffffffffffffffffffffc00000000fffffff +fffffffffffff000003ffffffe00000000000ffffffffffffffffffff00000007fffffff +e00000000000ffffffffffffffffffffffff80000000007fffffffffffffc00000000000 +07fffffffffffffff000000000000007ffffffffffffffffffffc00000000fffffff +fffffffffffff000003ffffffe00000000000ffffffffffffffffffff00000007fffffff +e00000000000ffffffffffffffffffffffff80000000007fffffffffffffc00000000000 +07fffffffffffffff000000000000007ffffffffffffffffffffc00000000fffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000ffffffffffffffffffffffe0000000001ffffffffffffffffe0000000000 +001fffffffffffffff80000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000ffffffffffffffffffffffe0000000001ffffffffffffffffe0000000000 +001fffffffffffffff80000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000ffffffffffffffffffffffe0000000001ffffffffffffffffe0000000000 +001fffffffffffffff80000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000ffffffffffffffffffffffe0000000001ffffffffffffffffe0000000000 +001fffffffffffffff80000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000ffffffffffffffffffffffe0000000001ffffffffffffffffe0000000000 +001fffffffffffffff80000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000fffffffffffffffffffffc00000000001ffffffffffffffffff800000000 +0000fffffffffffffffe000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000fffffffffffffffffffffc00000000001ffffffffffffffffff800000000 +0000fffffffffffffffe000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000fffffffffffffffffffffc00000000001ffffffffffffffffff800000000 +0000fffffffffffffffe000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000fffffffffffffffffffffc00000000001ffffffffffffffffff800000000 +0000fffffffffffffffe000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff800000000003ffffffffffffffffff000001fffffffff +e00000000000fffffffffffffffffffffc00000000001ffffffffffffffffff800000000 +0000fffffffffffffffe000000000007fffffffffffffffffff000000003ffffffff +fffffffffffff000003ffffffff8000000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffe0000000000003ffffffffffffffffff00000007fffffffff +fffffffffffff000003ffffffff8000000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffe0000000000003ffffffffffffffffff00000007fffffffff +fffffffffffff000003ffffffff8000000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffe0000000000003ffffffffffffffffff00000007fffffffff +fffffffffffff000003ffffffff8000000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffe0000000000003ffffffffffffffffff00000007fffffffff +fffffffffffff000003ffffffff8000000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffe0000000000003ffffffffffffffffff00000007fffffffff +fffffffffffff000003fffffffffc00000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffff800000000003ffffffffffffffffe000000007fffffffff +fffffffffffff000003fffffffffc00000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffff800000000003ffffffffffffffffe000000007fffffffff +fffffffffffff000003fffffffffc00000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffff800000000003ffffffffffffffffe000000007fffffffff +fffffffffffff000003fffffffffc00000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffff800000000003ffffffffffffffffe000000007fffffffff +fffffffffffff000003fffffffffc00000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffff800000000003ffffffffffffffffe000000007fffffffff +fffffffffffff000003fffffffffc00000000000fffffffffffffffc000007ffffffffff +e00000000000ffffffffffffffffffff000000000007ffffffffffffffffffffe0000000 +000003fffffffffffffff800000000003ffffffffffffffffe000000007fffffffff +fffffffffffff000003fffffffffc00000000000ffffffffffffff80000007ffffffffff +e00000000000ffffffffffffffffffc0000000000007ffffffffffffffffffffff800000 +000003fffffffffffffff800000000003ffffffffffffffffe0000001fffffffffff +fffffffffffff000003fffffffffc00000000000ffffffffffffff80000007ffffffffff +e00000000000ffffffffffffffffffc0000000000007ffffffffffffffffffffff800000 +000003fffffffffffffff800000000003ffffffffffffffffe0000001fffffffffff +fffffffffffff000003fffffffffc00000000000ffffffffffffff80000007ffffffffff +e00000000000ffffffffffffffffffc0000000000007ffffffffffffffffffffff800000 +000003fffffffffffffff800000000003ffffffffffffffffe0000001fffffffffff +fffffffffffff000003fffffffffc00000000000ffffffffffffff80000007ffffffffff +e00000000000ffffffffffffffffffc0000000000007ffffffffffffffffffffff800000 +000003fffffffffffffff800000000003ffffffffffffffffe0000001fffffffffff +fffffffffffff000003fffffffffc00000000000ffffffffffffff80000007ffffffffff +e00000000000ffffffffffffffffffc0000000000007ffffffffffffffffffffff800000 +000003fffffffffffffff800000000003ffffffffffffffffe0000001fffffffffff +fffffffffffc0000003fffffffffc0000000000003ffffffffffff800000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000ffffffffffffff8000000000000fffffffffffffffe0000001fffffffffff +fffffffffffc0000003fffffffffc0000000000003ffffffffffff800000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000ffffffffffffff8000000000000fffffffffffffffe0000001fffffffffff +fffffffffffc0000003fffffffffc0000000000003ffffffffffff800000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000ffffffffffffff8000000000000fffffffffffffffe0000001fffffffffff +fffffffffffc0000003fffffffffc0000000000003ffffffffffff800000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000ffffffffffffff8000000000000fffffffffffffffe0000001fffffffffff +fffffffffffc0000003fffffffffc0000000000003ffffffffffff800000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000ffffffffffffff8000000000000fffffffffffffffe0000001fffffffffff +fffffffffffc0000003fffffffffff000000000003ffffffffffe0000000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff000000000003ffffffffffe0000000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff000000000003ffffffffffe0000000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff000000000003ffffffffffe0000000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff000000000003ffffffffffe0000000ffffffffffff +e00000000000ffffffffffffffffffc00000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff0000000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff0000000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff0000000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff0000000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003fffffffffff0000000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000ffffffffffffffffffffffff800000 +0000000fffffffffffffffc00000000000ffffffffffffff80000007ffffffffffff +fffffffffffc0000003ffffffffffffc00000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffff800000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffff800000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffff800000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffff800000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001fffffffffe000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffff800000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001ffffffff80000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe0000000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001ffffffff80000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe0000000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001ffffffff80000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe0000000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001ffffffff80000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe0000000ffffffffffffff +fffffffffffc0000003ffffffffffffc00000000001ffffffff80000003fffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe0000000ffffffffffffff +fffffffffffc0000003ffffffffffffc0000000000007ffffff800000fffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe000003fffffffffffffff +fffffffffffc0000003ffffffffffffc0000000000007ffffff800000fffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe000003fffffffffffffff +fffffffffffc0000003ffffffffffffc0000000000007ffffff800000fffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe000003fffffffffffffff +fffffffffffc0000003ffffffffffffc0000000000007ffffff800000fffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe000003fffffffffffffff +fffffffffffc0000003ffffffffffffc0000000000007ffffff800000fffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffff000000000003ffffffffffe000003fffffffffffffff +fffffffffffc0000003fffffffffffffe000000000007fffff0000000fffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001fffffffffe000003fffffffffffffff +fffffffffffc0000003fffffffffffffe000000000007fffff0000000fffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001fffffffffe000003fffffffffffffff +fffffffffffc0000003fffffffffffffe000000000007fffff0000000fffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001fffffffffe000003fffffffffffffff +fffffffffffc0000003fffffffffffffe000000000007fffff0000000fffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001fffffffffe000003fffffffffffffff +fffffffffffc0000003fffffffffffffe000000000007fffff0000000fffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001fffffffffe000003fffffffffffffff +fffffffffffc0000003fffffffffffffe000000000007fffff0000000fffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001fffffffffe000003fffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffe0000000000001ffff000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007ffffffffffffffffc00000000001ffffffff800000fffffffffffffffff +fffffffffffc000007ffffffffffffffff800000000001ffc0000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff0000000fffffffffffffffff +fffffffffffc000007ffffffffffffffff800000000001ffc0000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff0000000fffffffffffffffff +fffffffffffc000007ffffffffffffffff800000000001ffc0000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff0000000fffffffffffffffff +fffffffffffc000007ffffffffffffffff800000000001ffc0000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff0000000fffffffffffffffff +fffffffffffc000007ffffffffffffffff800000000001ffc0000003ffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff0000000fffffffffffffffff +fffffffffffc000007ffffffffffffffff8000000000000fc000007fffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff000001ffffffffffffffffff +fffffffffffc000007ffffffffffffffff8000000000000fc000007fffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff000001ffffffffffffffffff +fffffffffffc000007ffffffffffffffff8000000000000fc000007fffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff000001ffffffffffffffffff +fffffffffffc000007ffffffffffffffff8000000000000fc000007fffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff000001ffffffffffffffffff +fffffffffffc000007ffffffffffffffff8000000000000fc000007fffffffffffffffff +e00000000000fffffffffffffffe00000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffe000000000007fffff000001ffffffffffffffffff +ffffffffff00000007ffffffffffffffff800000000000000000007fffffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffff800000000001ffff000001ffffffffffffffffff +ffffffffff00000007ffffffffffffffff800000000000000000007fffffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffff800000000001ffff000001ffffffffffffffffff +ffffffffff00000007ffffffffffffffff800000000000000000007fffffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffff800000000001ffff000001ffffffffffffffffff +ffffffffff00000007ffffffffffffffff800000000000000000007fffffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffff800000000001ffff000001ffffffffffffffffff +ffffffffff00000007ffffffffffffffff800000000000000000007fffffffffffffffff +e00000000000fffffffffffffffff8000000000000fffffffffffffffffffffffffc0000 +000000007fffffffffffffffffff800000000001ffff000001ffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffe00000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000fffffffffffffffffffff800000000001ffc000007fffffffffffffffffff +ffffffffff00000007fffffffffffffffffff0000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000ffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff0000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000ffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff0000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000ffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff0000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000ffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff0000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000ffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff0000000000000001fffffffffffffffffff +e00000000000fffffffffffffffff800000000000007fffffffffffffffffffffffc0000 +0000000ffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc0000000000007fffffffffffffffffffffffc0000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc0000000000007fffffffffffffffffffffffc0000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc0000000000007fffffffffffffffffffffffc0000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc0000000000007fffffffffffffffffffffffc0000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc0000000000007fffffffffffffffffffffffc0000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc00000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc00000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc00000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc00000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007fffffffffffffffffff000000000000007ffffffffffffffffffff +e00000000000ffffffffffffffffffc00000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffe00000000000000001fffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff0000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff0000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff0000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff0000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff0000000000001fffffffffffffffffffff800000 +000003fffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff000000000000007fffffffffffffffffff800000 +0000fffffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff000000000000007fffffffffffffffffff800000 +0000fffffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff000000000000007fffffffffffffffffff800000 +0000fffffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff000000000000007fffffffffffffffffff800000 +0000fffffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffff00000007ffffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000ffffffffffffffffffff000000000000007fffffffffffffffffff800000 +0000fffffffffffffffffffffffffff800000000000007ffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000fffffffffffffffffffffc0000000000007fffffffffffffffffe0000000 +001ffffffffffffffffffffffffffff8000000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000fffffffffffffffffffffc0000000000007fffffffffffffffffe0000000 +001ffffffffffffffffffffffffffff8000000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000fffffffffffffffffffffc0000000000007fffffffffffffffffe0000000 +001ffffffffffffffffffffffffffff8000000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000fffffffffffffffffffffc0000000000007fffffffffffffffffe0000000 +001ffffffffffffffffffffffffffff8000000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffc00000000000ffffffffffffffffffffff +e00000000000fffffffffffffffffffffc0000000000007fffffffffffffffffe0000000 +001ffffffffffffffffffffffffffff8000000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffff000000003ffffffffffffffffffffff8 +000000000000ffffffffffffffffffffffe0000000000001ffffffffffffffffe0000000 +001fffffffffffffffffffffffffffffc00000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffff000000003ffffffffffffffffffffff8 +000000000000ffffffffffffffffffffffe0000000000001ffffffffffffffffe0000000 +001fffffffffffffffffffffffffffffc00000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffff000000003ffffffffffffffffffffff8 +000000000000ffffffffffffffffffffffe0000000000001ffffffffffffffffe0000000 +001fffffffffffffffffffffffffffffc00000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffff000000003ffffffffffffffffffffff8 +000000000000ffffffffffffffffffffffe0000000000001ffffffffffffffffe0000000 +001fffffffffffffffffffffffffffffc00000000000ffffffffffffffffffffffff +ffffffffe0000000003fffffffffffffffffffff000000003ffffffffffffffffffffff8 +000000000000ffffffffffffffffffffffe0000000000001ffffffffffffffffe0000000 +001fffffffffffffffffffffffffffffc00000000000ffffffffffffffffffffffff +fffffff8000000000000ffffffffffffffffffff000000003ffffffffffffffffffffff8 +00000000000003ffffffffffffffffffffe00000000000000ffffffffffffff800000000 +07ffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +fffffff8000000000000ffffffffffffffffffff000000003ffffffffffffffffffffff8 +00000000000003ffffffffffffffffffffe00000000000000ffffffffffffff800000000 +07ffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +fffffff8000000000000ffffffffffffffffffff000000003ffffffffffffffffffffff8 +00000000000003ffffffffffffffffffffe00000000000000ffffffffffffff800000000 +07ffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +fffffff8000000000000ffffffffffffffffffff000000003ffffffffffffffffffffff8 +00000000000003ffffffffffffffffffffe00000000000000ffffffffffffff800000000 +07ffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +fffffff8000000000000ffffffffffffffffffff000000003ffffffffffffffffffffff8 +00000000000003ffffffffffffffffffffe00000000000000ffffffffffffff800000000 +07ffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +ffffc000000000000000000ffffffffffffffffffc00000fffffffffffffffffffffc000 +00000000000000007fffffffffffffffffff8000000000000000ffffffffc00000000001 +ffffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +ffffc000000000000000000ffffffffffffffffffc00000fffffffffffffffffffffc000 +00000000000000007fffffffffffffffffff8000000000000000ffffffffc00000000001 +ffffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +ffffc000000000000000000ffffffffffffffffffc00000fffffffffffffffffffffc000 +00000000000000007fffffffffffffffffff8000000000000000ffffffffc00000000001 +ffffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +ffffc000000000000000000ffffffffffffffffffc00000fffffffffffffffffffffc000 +00000000000000007fffffffffffffffffff8000000000000000ffffffffc00000000001 +ffffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +ffffc000000000000000000ffffffffffffffffffc00000fffffffffffffffffffffc000 +00000000000000007fffffffffffffffffff8000000000000000ffffffffc00000000001 +ffffffffffffffffffffffffffffffffc0000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000fffffffffffffffff000000000000000000000000000000fff +ffffffffffffffffffffffffffffffffff000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000fffffffffffffffff000000000000000000000000000000fff +ffffffffffffffffffffffffffffffffff000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000fffffffffffffffff000000000000000000000000000000fff +ffffffffffffffffffffffffffffffffff000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000fffffffffffffffff000000000000000000000000000000fff +ffffffffffffffffffffffffffffffffff000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000fffffffffffffffff000000000000000000000000000000fff +ffffffffffffffffffffffffffffffffff000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000fffffffffffffffff000000000000000000000000000000fff +ffffffffffffffffffffffffffffffffff000000003fffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000ffffffffffffffffffc000000000000000000000000003ffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000ffffffffffffffffffc000000000000000000000000003ffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000ffffffffffffffffffc000000000000000000000000003ffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000ffffffffffffffffffc000000000000000000000000003ffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003ffffffffffffc00000fffffffffffffffe000000000 +0000000000000000000000ffffffffffffffffffc000000000000000000000000003ffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003fffffffffffffffffffffffffffffffffe000000000 +0000000000000000000000fffffffffffffffffffff8000000000000000000001fffffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003fffffffffffffffffffffffffffffffffe000000000 +0000000000000000000000fffffffffffffffffffff8000000000000000000001fffffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003fffffffffffffffffffffffffffffffffe000000000 +0000000000000000000000fffffffffffffffffffff8000000000000000000001fffffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003fffffffffffffffffffffffffffffffffe000000000 +0000000000000000000000fffffffffffffffffffff8000000000000000000001fffffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +00000000000000000000000000003fffffffffffffffffffffffffffffffffe000000000 +0000000000000000000000fffffffffffffffffffff8000000000000000000001fffffff +ffffffffffffffffffffffffffffffffff0000000fffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffe0000000000003fffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffe0000000000003fffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffe0000000000003fffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffe0000000000003fffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffffffffffffffffffffe0000000000003fffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff000001ffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffc000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff80000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff80000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff80000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff80000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff80000007fffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff800001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff800001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff800001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff800001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff800001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffff800001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe0000001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe0000001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe0000001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe0000001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe0000001fffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffffffe000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff80000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff80000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff80000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff80000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff80000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffe000000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffe000000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffe000000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffe000000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffe000000003ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffc00000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffc00000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffc00000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffc00000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffffffffc00000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc00000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc00000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc00000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc00000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc00000000000ffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe0000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe0000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe0000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe0000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe0000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe0000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000000000003fffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff80000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000000000007ffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0000001ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0000001ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0000001ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0000001ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0000001ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffe00 +000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffff800000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffff800000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffff800000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffff800000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffff800000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff000000000000007fffffffffffffffffffffffffffffffffffffffffffc000 +00000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001ffffffffffffffffffffffffffffffffffffffffffc000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001ffffffffffffffffffffffffffffffffffffffffffc000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001ffffffffffffffffffffffffffffffffffffffffffc000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001ffffffffffffffffffffffffffffffffffffffffffc000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001ffffffffffffffffffffffffffffffffffffffffffc000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc00000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000001fffffffffffffffffffffffffffffffffffffffff00000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff000000000000007fffffffffffffffffffffffffffffffffffffc000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80000000 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff0000000000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c0000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c0000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c0000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c0000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c0000000003fffffffffffffffffffffffffffffffffff80003e00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007c00000000000ffffffffffffffffffffffffffffffffe0000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff800000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff800000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff800000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff800000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff800000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff800000ffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff80003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff80003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff80003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff80003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffff00007ff000000000003fffffffffffffffffffffffffffff80003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff000003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff000003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff000003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff000003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff000003fffe00 +0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007fffffffffffffffffffffffffffffffffffffe0000001ffffffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007fffffffffffffffffffffffffffffffffffffe0000001ffffffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007fffffffffffffffffffffffffffffffffffffe0000001ffffffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007fffffffffffffffffffffffffffffffffffffe0000001ffffffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007fffffffffffffffffffffffffffffffffffffe0000001ffffffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007ffffffffffffffffffffffffffffffff00000000000000000ffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007ffffffffffffffffffffffffffffffff00000000000000000ffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007ffffffffffffffffffffffffffffffff00000000000000000ffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007ffffffffffffffffffffffffffffffff00000000000000000ffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffc00000000001fffffffffffffffffffffffffff00007ffffe00 +0000000007ffffffffffffffffffffffffffffffff00000000000000000ffffffffffffe +00000000000000000000000003fffffffffc00000000000000000007ffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007fffffffffffffffffffffffffffe00000000000000000000003fffffffffff +ffe00000000000000000003fffffffffffffff800000000000003fffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007fffffffffffffffffffffffffffe00000000000000000000003fffffffffff +ffe00000000000000000003fffffffffffffff800000000000003fffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007fffffffffffffffffffffffffffe00000000000000000000003fffffffffff +ffe00000000000000000003fffffffffffffff800000000000003fffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007fffffffffffffffffffffffffffe00000000000000000000003fffffffffff +ffe00000000000000000003fffffffffffffff800000000000003fffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007fffffffffffffffffffffffffffe00000000000000000000003fffffffffff +ffe00000000000000000003fffffffffffffff800000000000003fffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007ffffffffffffffffffffffffe000000007ffffffc0000000000007ffffffff +fffffc00000000000001fffffffffffffffffffff000000001ffffffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007ffffffffffffffffffffffffe000000007ffffffc0000000000007ffffffff +fffffc00000000000001fffffffffffffffffffff000000001ffffffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007ffffffffffffffffffffffffe000000007ffffffc0000000000007ffffffff +fffffc00000000000001fffffffffffffffffffff000000001ffffffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007ffffffffffffffffffffffffe000000007ffffffc0000000000007ffffffff +fffffc00000000000001fffffffffffffffffffff000000001ffffffffffffffffff +fffffffffffc0001fffffff000000000007fffffffffffffffffffffffc0001ffffffe00 +0000000007ffffffffffffffffffffffffe000000007ffffffc0000000000007ffffffff +fffffc00000000000001fffffffffffffffffffff000000001ffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff000001ffffffe00 +0000000007ffffffffffffffffffffff000000003ffffffffffff800000000001fffffff +fffffff0000000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff000001ffffffe00 +0000000007ffffffffffffffffffffff000000003ffffffffffff800000000001fffffff +fffffff0000000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff000001ffffffe00 +0000000007ffffffffffffffffffffff000000003ffffffffffff800000000001fffffff +fffffff0000000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff000001ffffffe00 +0000000007ffffffffffffffffffffff000000003ffffffffffff800000000001fffffff +fffffff0000000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff000001ffffffe00 +0000000007ffffffffffffffffffffff000000003ffffffffffff800000000001fffffff +fffffff0000000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff00007fffffffe00 +0000000007ffffffffffffffffffffc00000000fffffffffffffffe000000000007fffff +ffffffff800000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff00007fffffffe00 +0000000007ffffffffffffffffffffc00000000fffffffffffffffe000000000007fffff +ffffffff800000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff00007fffffffe00 +0000000007ffffffffffffffffffffc00000000fffffffffffffffe000000000007fffff +ffffffff800000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff00007fffffffe00 +0000000007ffffffffffffffffffffc00000000fffffffffffffffe000000000007fffff +ffffffff800000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff800000000001fffffffffffffffffffff00007fffffffe00 +0000000007ffffffffffffffffffffc00000000fffffffffffffffe000000000007fffff +ffffffff800000000001fffffffffffffffffffff00000007fffffffffffffffffff +fffffffffffc0001ffffffff8000000000000ffffffffffffffffffc000007fffffffe00 +0000000007fffffffffffffffffff800000001ffffffffffffffffff800000000003ffff +ffffffff80000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001ffffffff8000000000000ffffffffffffffffffc000007fffffffe00 +0000000007fffffffffffffffffff800000001ffffffffffffffffff800000000003ffff +ffffffff80000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001ffffffff8000000000000ffffffffffffffffffc000007fffffffe00 +0000000007fffffffffffffffffff800000001ffffffffffffffffff800000000003ffff +ffffffff80000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001ffffffff8000000000000ffffffffffffffffffc000007fffffffe00 +0000000007fffffffffffffffffff800000001ffffffffffffffffff800000000003ffff +ffffffff80000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001ffffffff8000000000000ffffffffffffffffffc000007fffffffe00 +0000000007fffffffffffffffffff800000001ffffffffffffffffff800000000003ffff +ffffffff80000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001ffffffff8000000000000ffffffffffffffffffc000007fffffffe00 +0000000007fffffffffffffffffff800000001ffffffffffffffffff800000000003ffff +ffffffff80000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc0000000003ffff +fffffffffe000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc0000000003ffff +fffffffffe000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc0000000003ffff +fffffffffe000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc0000000003ffff +fffffffffe000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc0000000003ffff +fffffffffe000000000007fffffffffffffffffff000001fffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc00000000000fff +fffffffffe000000000007fffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc00000000000fff +fffffffffe000000000007fffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc00000000000fff +fffffffffe000000000007fffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc00000000000fff +fffffffffe000000000007fffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffe00000000000ffffffffffffffffffc0000fffffffffe00 +0000000007fffffffffffffffffe000000007ffffffffffffffffffffc00000000000fff +fffffffffe000000000007fffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff800000fffffffffe00 +0000000007ffffffffffffffff800000001ffffffffffffffffffffffff0000000000fff +fffffffffff800000000003ffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff800000fffffffffe00 +0000000007ffffffffffffffff800000001ffffffffffffffffffffffff0000000000fff +fffffffffff800000000003ffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff800000fffffffffe00 +0000000007ffffffffffffffff800000001ffffffffffffffffffffffff0000000000fff +fffffffffff800000000003ffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff800000fffffffffe00 +0000000007ffffffffffffffff800000001ffffffffffffffffffffffff0000000000fff +fffffffffff800000000003ffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff800000fffffffffe00 +0000000007ffffffffffffffff800000001ffffffffffffffffffffffff0000000000fff +fffffffffff800000000003ffffffffffffffffe000007ffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff80003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003ffffffffffffffffe0000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff80003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003ffffffffffffffffe0000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff80003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003ffffffffffffffffe0000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff80003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003ffffffffffffffffe0000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff800000000003fffffffffffffff80003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003ffffffffffffffffe0000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff8000000000000ffffffffffffe000003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003fffffffffffffff800000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff8000000000000ffffffffffffe000003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003fffffffffffffff800000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff8000000000000ffffffffffffe000003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003fffffffffffffff800000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff8000000000000ffffffffffffe000003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003fffffffffffffff800000ffffffffffffffffffffffff +fffffffffffc0001fffffffffff8000000000000ffffffffffffe000003ffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +fffffffffff800000000003fffffffffffffff800000ffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc00000000000ffffffffffffe0000ffffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc00000000000ffffffffffffe0000ffffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc00000000000ffffffffffffe0000ffffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc00000000000ffffffffffffe0000ffffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc00000000000ffffffffffffe0000ffffffffffffe00 +0000000007fffffffffffffff0000000001ffffffffffffffffffffffff000000000003f +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc0000000000003fffffffff800000ffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc0000000000003fffffffff800000ffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc0000000000003fffffffff800000ffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc0000000000003fffffffff800000ffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffc0000000000003fffffffff800000ffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +ffffffffffffe00000000000ffffffffffffff80003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff0000000000ffffffffffffe000003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff0000000000ffffffffffffe000003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff0000000000ffffffffffffe000003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff0000000000ffffffffffffe000003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff0000000000ffffffffffffe000003fffffffffffffffffffffffff +fffffffffffc0001ffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff0000000000ffffffffffffe000003fffffffffffffffffffffffff +fffffffffffc007fffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003ffffffffffe0000fffffffffffffffffffffffffff +fffffffffffc007fffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003ffffffffffe0000fffffffffffffffffffffffffff +fffffffffffc007fffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003ffffffffffe0000fffffffffffffffffffffffffff +fffffffffffc007fffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003ffffffffffe0000fffffffffffffffffffffffffff +fffffffffffc007fffffffffffffff000000000003fffffffff80003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003ffffffffffe0000fffffffffffffffffffffffffff +ffffffffff00007fffffffffffffff0000000000001fffffff000003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003fffffffffc00000fffffffffffffffffffffffffff +ffffffffff00007fffffffffffffff0000000000001fffffff000003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003fffffffffc00000fffffffffffffffffffffffffff +ffffffffff00007fffffffffffffff0000000000001fffffff000003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003fffffffffc00000fffffffffffffffffffffffffff +ffffffffff00007fffffffffffffff0000000000001fffffff000003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003fffffffffc00000fffffffffffffffffffffffffff +ffffffffff00007fffffffffffffff0000000000001fffffff000003fffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +ffffffffffffff000000000003fffffffffc00000fffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc00000000001fffffff00007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc0000000003fffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc00000000001fffffff00007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc0000000003fffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc00000000001fffffff00007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc0000000003fffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc00000000001fffffff00007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc0000000003fffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc00000000001fffffff00007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc0000000003fffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc0000000000007fffc000007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc00000000001ffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc0000000000007fffc000007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc00000000001ffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc0000000000007fffc000007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc00000000001ffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc0000000000007fffc000007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc00000000001ffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffc0000000000007fffc000007ffffffffffffffe00 +0000000007fffffffffffffc0000000003ffffffffffffffffffffffffffc00000000001 +fffffffffffffffc00000000001ffffffffc0001ffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe000000000007fffc0001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff0000000001fffffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe000000000007fffc0001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff0000000001fffffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe000000000007fffc0001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff0000000001fffffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe000000000007fffc0001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff0000000001fffffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe000000000007fffc0001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff0000000001fffffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f000001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f000001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f000001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f000001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f000001ffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffe0000000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc00000000001 +fffffffffffffffff000000000007fffff00007fffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff80000000007fffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff80000000007fffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff80000000007fffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff80000000007fffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff80000000007fffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000001f00007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff80000000007fffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000000000007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001ffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000000000007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001ffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000000000007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001ffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000000000007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001ffc0001fffffffffffffffffffffffffffffff +ffffffffff00007fffffffffffffffffff800000000000000007fffffffffffffffffe00 +0000000007fffffffffffffc00000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001ffc0001fffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff0000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff0000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff0000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff0000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff0000000001fffffffffffffffffffffffffc0000000003f +ffffffffffffffffff800000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff000000000007fffffffffffffffffffffffc0000000003f +fffffffffffffffffffe0000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff000000000007fffffffffffffffffffffffc0000000003f +fffffffffffffffffffe0000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff000000000007fffffffffffffffffffffffc0000000003f +fffffffffffffffffffe0000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff000000000007fffffffffffffffffffffffc0000000003f +fffffffffffffffffffe0000000001f80003ffffffffffffffffffffffffffffffff +ffffffffff00007ffffffffffffffffffffe00000000000000fffffffffffffffffffe00 +0000000007fffffffffffffff000000000007fffffffffffffffffffffffc0000000003f +fffffffffffffffffffe0000000001f80003ffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffe0000000000003ffffffffffffffffffffe00 +0000000007fffffffffffffff000000000007ffffffffffffffffffffff0000000000fff +fffffffffffffffffffe00000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffe0000000000003ffffffffffffffffffffe00 +0000000007fffffffffffffff000000000007ffffffffffffffffffffff0000000000fff +fffffffffffffffffffe00000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffe0000000000003ffffffffffffffffffffe00 +0000000007fffffffffffffff000000000007ffffffffffffffffffffff0000000000fff +fffffffffffffffffffe00000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffe0000000000003ffffffffffffffffffffe00 +0000000007fffffffffffffff000000000007ffffffffffffffffffffff0000000000fff +fffffffffffffffffffe00000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffe0000000000003ffffffffffffffffffffe00 +0000000007fffffffffffffff000000000007ffffffffffffffffffffff0000000000fff +fffffffffffffffffffe00000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff0000000000fff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff0000000000fff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff0000000000fff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff0000000000fff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff0000000000fff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff000000003ffff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff000000003ffff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff000000003ffff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff000000003ffff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe000007ffffffffffffffffffffff000000000003ffffffffffffffffffffe00 +0000000007ffffffffffffffff800000000001fffffffffffffffffffff000000003ffff +fffffffffffffffffffff8000000000000ffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffe00000000000ffffffffffffffffffff000000003ffff +fffffffffffffffffffff800000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffe00000000000ffffffffffffffffffff000000003ffff +fffffffffffffffffffff800000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffe00000000000ffffffffffffffffffff000000003ffff +fffffffffffffffffffff800000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffe00000000000ffffffffffffffffffff000000003ffff +fffffffffffffffffffff800000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffe00000000000ffffffffffffffffffff000000003ffff +fffffffffffffffffffff800000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffff8000000000ffffffffffffffffffc000000007fffff +ffffffffffffffffffffffc0000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffff8000000000ffffffffffffffffffc000000007fffff +ffffffffffffffffffffffc0000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffff8000000000ffffffffffffffffffc000000007fffff +ffffffffffffffffffffffc0000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffff8000000000ffffffffffffffffffc000000007fffff +ffffffffffffffffffffffc0000000003fffffffffffffffffffffffffffffffffff +ffffffffe0000001ffffffffffffffffffffffc00000000ffffffffffffffffffffffe00 +00000000001ffffffffffffffffff8000000000ffffffffffffffffffc000000007fffff +ffffffffffffffffffffffc0000000003fffffffffffffffffffffffffffffffffff +fffffff800000001ffffffffffffffffffffffc0000001fffffffffffffffffffffffe00 +00000000001ffffffffffffffffff800000000003ffffffffffffffffc0000001fffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffff800000001ffffffffffffffffffffffc0000001fffffffffffffffffffffffe00 +00000000001ffffffffffffffffff800000000003ffffffffffffffffc0000001fffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffff800000001ffffffffffffffffffffffc0000001fffffffffffffffffffffffe00 +00000000001ffffffffffffffffff800000000003ffffffffffffffffc0000001fffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffff800000001ffffffffffffffffffffffc0000001fffffffffffffffffffffffe00 +00000000001ffffffffffffffffff800000000003ffffffffffffffffc0000001fffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffff800000001ffffffffffffffffffffffc0000001fffffffffffffffffffffffe00 +00000000001ffffffffffffffffff800000000003ffffffffffffffffc0000001fffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffff800000001ffffffffffffffffffffffc0000001fffffffffffffffffffffffe00 +00000000001ffffffffffffffffff800000000003ffffffffffffffffc0000001fffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffe000000000007ffffffffffffffffffffff000001ffffffffffffffffffffffc000 +000000000000ffffffffffffffffffc0000000000007ffffffffffff80000007ffffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffe000000000007ffffffffffffffffffffff000001ffffffffffffffffffffffc000 +000000000000ffffffffffffffffffc0000000000007ffffffffffff80000007ffffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffe000000000007ffffffffffffffffffffff000001ffffffffffffffffffffffc000 +000000000000ffffffffffffffffffc0000000000007ffffffffffff80000007ffffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffe000000000007ffffffffffffffffffffff000001ffffffffffffffffffffffc000 +000000000000ffffffffffffffffffc0000000000007ffffffffffff80000007ffffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fffffe000000000007ffffffffffffffffffffff000001ffffffffffffffffffffffc000 +000000000000ffffffffffffffffffc0000000000007ffffffffffff80000007ffffffff +ffffffffffffffffffffffc000000007ffffffffffffffffffffffffffffffffffff +fff0000000000000000003ffffffffffffffffff00007ffffffffffffffffffffc000000 +000000000000000ffffffffffffffffffc00000000001ffffffff800000001ffffffffff +ffffffffffffffffffffffff00000007ffffffffffffffffffffffffffffffffffff +fff0000000000000000003ffffffffffffffffff00007ffffffffffffffffffffc000000 +000000000000000ffffffffffffffffffc00000000001ffffffff800000001ffffffffff +ffffffffffffffffffffffff00000007ffffffffffffffffffffffffffffffffffff +fff0000000000000000003ffffffffffffffffff00007ffffffffffffffffffffc000000 +000000000000000ffffffffffffffffffc00000000001ffffffff800000001ffffffffff +ffffffffffffffffffffffff00000007ffffffffffffffffffffffffffffffffffff +fff0000000000000000003ffffffffffffffffff00007ffffffffffffffffffffc000000 +000000000000000ffffffffffffffffffc00000000001ffffffff800000001ffffffffff +ffffffffffffffffffffffff00000007ffffffffffffffffffffffffffffffffffff +fff0000000000000000003ffffffffffffffffff00007ffffffffffffffffffffc000000 +000000000000000ffffffffffffffffffc00000000001ffffffff800000001ffffffffff +ffffffffffffffffffffffff00000007ffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffc007ffffffffffffffff80000000000 +00000000000000000007ffffffffffffffe00000000000000000000000003fffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffc007ffffffffffffffff80000000000 +00000000000000000007ffffffffffffffe00000000000000000000000003fffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffc007ffffffffffffffff80000000000 +00000000000000000007ffffffffffffffe00000000000000000000000003fffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffc007ffffffffffffffff80000000000 +00000000000000000007ffffffffffffffe00000000000000000000000003fffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffc007ffffffffffffffff80000000000 +00000000000000000007ffffffffffffffe00000000000000000000000003fffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffffffffffffffffffffff80000000000 +00000000000000000007fffffffffffffffffe00000000000000000003ffffffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffffffffffffffffffffff80000000000 +00000000000000000007fffffffffffffffffe00000000000000000003ffffffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffffffffffffffffffffff80000000000 +00000000000000000007fffffffffffffffffe00000000000000000003ffffffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffffffffffffffffffffff80000000000 +00000000000000000007fffffffffffffffffe00000000000000000003ffffffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +00000000000000000000000001fffffffffffffffffffffffffffffffffff80000000000 +00000000000000000007fffffffffffffffffe00000000000000000003ffffffffffffff +ffffffffffffffffffffffff000001ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff000000000007ffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff000000000007ffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff000000000007ffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff000000000007ffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffff000000000007ffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00007fffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffc0001fffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffff80003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffffe000003ffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffff800000ffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffff000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffff000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffff000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffff000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffff000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffc0000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffc0000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffc0000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffc0000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffc0000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffc0000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff000000003fffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff80000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff80000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff80000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff80000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff80000000000007ffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff800000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe0000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe0000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe0000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe0000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffe0000000001ffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000007fffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000007fffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000007fffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000007fffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffe000007fffffffffffffffffffffffffffffffffffffffffffffffff + + +showpage + +% stop using temporary dictionary +end + +% restore original state +origstate restore + +%%Trailer diff --git a/usergrps/uktug/baskervi/5_3/mmdesign.eps b/usergrps/uktug/baskervi/5_3/mmdesign.eps new file mode 100644 index 0000000000..c07269bf84 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/mmdesign.eps @@ -0,0 +1,1661 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(TM) 3.2gm5 +%%For: (Terry) (Adobe Systems) +%%Title: (MM 3 D Space Diagr) +%%CreationDate: (10/1/91) (1:38 PM) +%%BoundingBox: 127 282 451 541 +%%DocumentProcessColors: Black +%%DocumentFonts: Helvetica +%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0 +%%+ procset Adobe_cmykcolor 1.1 0 +%%+ procset Adobe_cshow 1.1 0 +%%+ procset Adobe_customcolor 1.0 0 +%%+ procset Adobe_typography_AI3 1.0 1 +%%+ procset Adobe_IllustratorA_AI3 1.0 1 +%AI3_ColorUsage: Black&White +%AI3_TemplateBox: 306 396 306 396 +%AI3_TileBox: -522 761 30 1491 +%AI3_DocumentPreview: Macintosh_Pic +%%EndComments +%%BeginProlog +%%BeginResource: procset Adobe_packedarray 2.0 0 +%%Title: (Packed Array Operators) +%%Version: 2.0 +%%CreationDate: (8/2/90) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +userdict /Adobe_packedarray 5 dict dup begin put +/initialize % - initialize - +{ +/packedarray where + { + pop + } + { + Adobe_packedarray begin + Adobe_packedarray + { + dup xcheck + { + bind + } if + userdict 3 1 roll put + } forall + end + } ifelse +} def +/terminate % - terminate - +{ +} def +/packedarray % arguments count packedarray array +{ +array astore readonly +} def +/setpacking % boolean setpacking - +{ +pop +} def +/currentpacking % - setpacking boolean +{ +false +} def +currentdict readonly pop end +%%EndResource +Adobe_packedarray /initialize get exec +%%BeginResource: procset Adobe_cmykcolor 1.1 0 +%%Title: (CMYK Color Operators) +%%Version: 1.1 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cmykcolor 4 dict dup begin put +/initialize % - initialize - +{ +/setcmykcolor where + { + pop + } + { + userdict /Adobe_cmykcolor_vars 2 dict dup begin put + /_setrgbcolor + /setrgbcolor load def + /_currentrgbcolor + /currentrgbcolor load def + Adobe_cmykcolor begin + Adobe_cmykcolor + { + dup xcheck + { + bind + } if + pop pop + } forall + end + end + Adobe_cmykcolor begin + } ifelse +} def +/terminate % - terminate - +{ +currentdict Adobe_cmykcolor eq + { + end + } if +} def +/setcmykcolor % cyan magenta yellow black setcmykcolor - +{ +1 sub 4 1 roll +3 + { + 3 index add neg dup 0 lt + { + pop 0 + } if + 3 1 roll + } repeat +Adobe_cmykcolor_vars /_setrgbcolor get exec +pop +} def +/currentcmykcolor % - currentcmykcolor cyan magenta yellow black +{ +Adobe_cmykcolor_vars /_currentrgbcolor get exec +3 + { + 1 sub neg 3 1 roll + } repeat +0 +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 1.1 0 +%%Title: (cshow Operator) +%%Version: 1.1 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 3 dict dup begin put +/initialize % - initialize - +{ +/cshow where + { + pop + } + { + userdict /Adobe_cshow_vars 1 dict dup begin put + /_cshow % - _cshow proc + {} def + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + userdict 3 1 roll put + } forall + end + end + } ifelse +} def +/terminate % - terminate - +{ +} def +/cshow % proc string cshow - +{ +exch +Adobe_cshow_vars + exch /_cshow + exch put + { + 0 0 Adobe_cshow_vars /_cshow get exec + } forall +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_customcolor 1.0 0 +%%Title: (Custom Color Operators) +%%Version: 1.0 +%%CreationDate: (5/9/88) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_customcolor 5 dict dup begin put +/initialize % - initialize - +{ +/setcustomcolor where + { + pop + } + { + Adobe_customcolor begin + Adobe_customcolor + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_customcolor begin + } ifelse +} def +/terminate % - terminate - +{ +currentdict Adobe_customcolor eq + { + end + } if +} def +/findcmykcustomcolor % cyan magenta yellow black name findcmykcustomcolor +%%+ object +{ +5 packedarray +} def +/setcustomcolor % object tint setcustomcolor - +{ +exch +aload pop pop +4 + { + 4 index mul 4 1 roll + } repeat +5 -1 roll pop +setcmykcolor +} def +/setoverprint % boolean setoverprint - +{ +pop +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_typography_AI3 1.1 0 +%%Title: (Typography Operators) +%%Version: 1.0 +%%CreationDate:(5/31/90) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_typography_AI3 47 dict dup begin put +/initialize % - initialize - +{ +/TZ + where + { + pop + } + { + Adobe_typography_AI3 begin + Adobe_typography_AI3 + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_typography_AI3 begin + } ifelse +} def +/terminate % - terminate - +{ +currentdict Adobe_typography_AI3 eq + { + end + } if +} def +% [ number value stream [ array for encoding modification ] modifyEncoding +%%+ ==> [ modified array ] +/modifyEncoding +{ + /_tempEncode exch ddef + + % pointer for sequential encodings + /_pntr 0 ddef + + { + % get bottom object + counttomark -1 roll + % is it a mark ? + dup type dup /marktype eq + { + % exit + pop pop exit + } + { + % ... object ... type .... + % insert if a nametype + /nametype eq + { + % insert the name at _pntr and increment pointer + _tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll + put + } + { + % reset _pntr if it's a number + /_pntr exch ddef + } + ifelse + } + ifelse + } + loop + + % return the modified encoding + _tempEncode +} +def +/TE % Set std platform encoding % (encoding pairs) TE - +{ + StandardEncoding 256 array copy modifyEncoding + /_nativeEncoding exch def +} def +% re-define font +% expected arguments +% for 'normal fonts : +% [ /_Helvetica-Bold/Helvetica-Bold direction fontScript defaultEncoding TZ +% +% for cartographic, pictographic, and expert fonts : +% [ ... number value stream ... /_Symbol/Symbol +% direction fontScript defaultEncoding TZ +% for blended fonts w/ default encoding : +% [ /_AdobeSans_20ULig1XCond-Bold/AdobeSans +% direction fontScript defaultEncoding [ w0 w1 ... wn ] TZ +% for blended fonts w/ special encoding : +% [ ... number value stream ... /_AdobeSans_20ULig1XCond/AdobeSans +% direction fontScript defaultEncoding [ w0 w1 ... wn ] TZ +/TZ +{ + % set weight vector (if present) + dup type /arraytype eq {/_wv exch def} {/_wv 0 def} ifelse + % platform dependent coding flag + /_useNativeEncoding exch def + % pop fontScript & direction + pop pop + + % create a new dictionary with length + % equal to original dictionary length + 2 + % copy all the key/value pairs except FID + % call makeblended font with the weight values if _wv is an array + findfont _wv type /arraytype eq {_wv makeblendedfont} if dup length 2 add + dict + + begin + + % copy all the values but the FID + % into the new dictionary + mark exch + { + 1 index /FID ne { def } if cleartomark mark + } + forall + % discard last mark + pop + + % define FontName + /FontName exch def + + % if no re-encoding stream is present + % then if the base encoding vector of the font + % is the same as StandardEncoding + % and the use platform encoding flag is true + % then install AI platform encoding + % else leave the base encoding in effect + counttomark 0 eq + { + 1 _useNativeEncoding eq + { + /Encoding _nativeEncoding def + } + if + % clean up + cleartomark + } + { + % custom encoding to be done + % start off with a copy of the font's standard encoding + /Encoding load 256 array copy + modifyEncoding /Encoding exch def + } + ifelse + FontName currentdict + end + + % register the new font + definefont pop +} +def +% text painting operators +/tr % string tr ax ay string +{ +_ax _ay 3 2 roll +} def +/trj % string trj cx cy fillchar ax ay string +{ +_cx _cy _sp _ax _ay 6 5 roll +} def +/a0 +{ +/Tx % text % textString Tx - + { + dup + currentpoint 3 2 roll + tr _psf + newpath moveto + tr _ctm _pss + } ddef +/Tj % justified text % textString Tj - + { + dup + currentpoint 3 2 roll + trj _pjsf + newpath moveto + trj _ctm _pjss + } ddef + +} def +/a1 +{ +/Tx % text % textString Tx - + { + dup currentpoint 4 2 roll gsave + dup currentpoint 3 2 roll + tr _psf + newpath moveto + tr _ctm _pss + grestore 3 1 roll moveto tr sp + } ddef +/Tj % justified text % textString Tj - + { + dup currentpoint 4 2 roll gsave + dup currentpoint 3 2 roll + trj _pjsf + newpath moveto + trj _ctm _pjss + grestore 3 1 roll moveto tr sp + } ddef + +} def +/e0 +{ +/Tx % text % textString Tx - + { + tr _psf + } ddef +/Tj % justified text % textString Tj - + { + trj _pjsf + } ddef +} def +/e1 +{ +/Tx % text % textString Tx - + { + dup currentpoint 4 2 roll gsave + tr _psf + grestore 3 1 roll moveto tr sp + } ddef +/Tj % justified text % textString Tj - + { + dup currentpoint 4 2 roll gsave + trj _pjsf + grestore 3 1 roll moveto tr sp + } ddef +} def +/i0 +{ +/Tx % text % textString Tx - + { + tr sp + } ddef +/Tj % justified text % textString Tj - + { + trj jsp + } ddef +} def +/i1 +{ +W N +} def +/o0 +{ +/Tx % text % textString Tx - + { + tr sw rmoveto + } ddef +/Tj % justified text % textString Tj - + { + trj swj rmoveto + } ddef +} def +/r0 +{ +/Tx % text % textString Tx - + { + tr _ctm _pss + } ddef +/Tj % justified text % textString Tj - + { + trj _ctm _pjss + } ddef +} def +/r1 +{ +/Tx % text % textString Tx - + { + dup currentpoint 4 2 roll currentpoint gsave newpath moveto + tr _ctm _pss + grestore 3 1 roll moveto tr sp + } ddef +/Tj % justified text % textString Tj - + { + dup currentpoint 4 2 roll currentpoint gsave newpath moveto + trj _ctm _pjss + grestore 3 1 roll moveto tr sp + } ddef +} def +% font operators +% Binding +/To % begin text % bindType To - +{ + pop _ctm currentmatrix pop +} def +/TO % end text % TO - +{ + Te _ctm setmatrix newpath +} def +% Text paths +/Tp % begin text path % a b c d tx ty startPt Tp - +{ + pop _tm astore pop _ctm setmatrix + _tDict begin /W {} def /h {} def +} def +/TP % end text path % TP - +{ + end + iTm 0 0 moveto +} def +% Render mode & matrix operators +/Tr % begin render % render Tr - +{ + _render 3 le {currentpoint newpath moveto} if + dup 8 eq {pop 0} {dup 9 eq {pop 1} if} ifelse + dup /_render exch ddef + _renderStart exch get load exec +} def +/iTm % internal set text matrix % - iTm - (uses _tm as implicit argument) +{ +_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale +} def +/Tm % set text matrix % a b c d tx ty Tm - +{ +_tm astore pop iTm 0 0 moveto +} def +/Td % translate text matrix % tx ty Td - +{ +_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto +} def +/Te % end render % - Te - +{ + _render -1 eq {} {_renderEnd _render get dup null ne {load exec} {pop} + ifelse} ifelse + /_render -1 ddef +} def +% Attributes +/Ta % set alignment % alignment Ta - +{ +pop +} def +/Tf % set font name and size % fontname size Tf - +{ +dup 1000 div /_fScl exch ddef +exch findfont exch scalefont setfont +} def +/Tl % set leading % leading paragraphLeading Tl - +{ +pop +0 exch _leading astore pop +} def +/Tt % set user tracking % userTracking Tt - +{ +pop +} def +/TW % set word spacing % minSpace optSpace maxSpace TW - +{ +3 npop +} def +/Tw % set computed word spacing % wordSpace Tw +{ +/_cx exch ddef +} def +/TC % set character spacing % minSpace optSpace maxSpace TC - +{ +3 npop +} def +/Tc % set computed char spacing % charSpace Tc - +{ +/_ax exch ddef +} def +/Ts % set super/subscripting (rise) % rise Ts - +{ +/_rise exch ddef +currentpoint +iTm +moveto +} def +/Ti % set indentation % firstStartIndent otherStartIndent stopIndent Ti - +{ +3 npop +} def +/Tz % set horizontal scaling % scalePercent Tz - +{ +100 div /_hs exch ddef +iTm +} def +/TA % set pairwise kerning % autoKern TA - + % autoKern = 0 -> no pair kerning + % = 1 -> automatic pair kerning +{ +pop +} def +/Tq % set hanging quotes % hangingQuotes Tq - + % hangingQuotes = 0 -> no hanging quotes + % = 1 -> hanging quotes +{ +pop +} def +% Text Bodies +/TX {pop} def +%/Tx % non-justified text % textString Tx - +%/Tj % justified text % textString Tj - +/Tk % kern % autoKern kernValue Tk - + % autoKern = 0 -> manual kern, = 1 -> auto kern + % kernValue = kern value in em/1000 space +{ +exch pop _fScl mul neg 0 rmoveto +} def +/TK % non-printing kern % autoKern kernValue TK - +{ +2 npop +} def +/T* % carriage return & line feed % - T* - +{ +_leading aload pop neg Td +} def +/T*- % carriage return & negative line feed % - T*- - +{ +_leading aload pop Td +} def +/T- % print a discretionary hyphen % - T- - +{ +_hyphen Tx +} def +/T+ % discretionary hyphen hyphen % - T+ - +{} def +/TR % reset pattern matrix % a b c d tx ty TR - +{ +_ctm currentmatrix pop +_tm astore pop +iTm 0 0 moveto +} def +/TS % special chars % textString justified TS - +{ +0 eq {Tx} {Tj} ifelse +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_IllustratorA_AI3 1.0 2 +%%Title: (Adobe Illustrator (R) Version 3.0 Abbreviated Prolog) +%%Version: 1.0 +%%CreationDate: (7/22/89) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_IllustratorA_AI3 61 dict dup begin put +% initialization +/initialize % - initialize - +{ +% 47 vars, but leave slack of 10 entries for custom Postscript fragments +userdict /Adobe_IllustratorA_AI3_vars 57 dict dup begin put +% paint operands +/_lp /none def +/_pf {} def +/_ps {} def +/_psf {} def +/_pss {} def +/_pjsf {} def +/_pjss {} def +/_pola 0 def +/_doClip 0 def +% paint operators +/cf currentflat def % - cf flatness +% typography operands +/_tm matrix def +/_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def +/_renderEnd [null null null null /i1 /i1 /i1 /i1] def +/_render -1 def +/_rise 0 def +/_ax 0 def % x character spacing (_ax, _ay, _cx, _cy follows awidthshow +%%+ naming convention) +/_ay 0 def % y character spacing +/_cx 0 def % x word spacing +/_cy 0 def % y word spacing +/_leading [0 0] def +/_ctm matrix def +/_mtx matrix def +/_sp 16#020 def +/_hyphen (-) def +/_fScl 0 def +/_cnt 0 def +/_hs 1 def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +% typography operators +/Tx {} def +/Tj {} def +% compound path operators +/CRender {} def +% printing +/_AI3_savepage {} def +% color operands +/_gf null def +/_cf 4 array def +/_if null def +/_of false def +/_fc {} def +/_gs null def +/_cs 4 array def +/_is null def +/_os false def +/_sc {} def +/_i null def +Adobe_IllustratorA_AI3 begin +Adobe_IllustratorA_AI3 + { + dup xcheck + { + bind + } if + pop pop + } forall +end +end +Adobe_IllustratorA_AI3 begin +Adobe_IllustratorA_AI3_vars begin +newpath +} def +/terminate % - terminate - +{ +end +end +} def +% definition operators +/_ % - _ null +null def +/ddef % key value ddef - +{ +Adobe_IllustratorA_AI3_vars 3 1 roll put +} def +/xput % key value literal xput - +{ +dup load dup length exch maxlength eq + { + dup dup load dup + length 2 mul dict copy def + } if +load begin def end +} def +/npop % integer npop - +{ + { + pop + } repeat +} def +% marking operators +/sw % ax ay string sw x y +{ +dup length exch stringwidth +exch 5 -1 roll 3 index 1 sub mul add +4 1 roll 3 1 roll 1 sub mul add +} def +/swj % cx cy fillchar ax ay string swj x y +{ +dup 4 1 roll +dup length exch stringwidth +exch 5 -1 roll 3 index 1 sub mul add +4 1 roll 3 1 roll 1 sub mul add +6 2 roll /_cnt 0 ddef +{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop +exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop +} def +/ss % ax ay string matrix ss - +{ +4 1 roll + { % matrix ax ay char 0 0 {proc} - + 2 npop + (0) exch 2 copy 0 exch put pop + gsave + false charpath currentpoint + 4 index setmatrix + stroke + grestore + moveto + 2 copy rmoveto + } exch cshow +3 npop +} def +/jss % cx cy fillchar ax ay string matrix jss - +{ +4 1 roll + { % cx cy fillchar matrix ax ay char 0 0 {proc} - + 2 npop + (0) exch 2 copy 0 exch put + gsave + _sp eq + { + exch 6 index 6 index 6 index 5 -1 roll widthshow + currentpoint + } + { + false charpath currentpoint + 4 index setmatrix stroke + }ifelse + grestore + moveto + 2 copy rmoveto + } exch cshow +6 npop +} def +% path operators +/sp % ax ay string sp - +{ + { + 2 npop (0) exch + 2 copy 0 exch put pop + false charpath + 2 copy rmoveto + } exch cshow +2 npop +} def +/jsp % cx cy fillchar ax ay string jsp - +{ + { % cx cy fillchar ax ay char 0 0 {proc} - + 2 npop + (0) exch 2 copy 0 exch put + _sp eq + { + exch 5 index 5 index 5 index 5 -1 roll widthshow + } + { + false charpath + }ifelse + 2 copy rmoveto + } exch cshow +5 npop +} def +% path construction operators +/pl % x y pl x y +{ +transform +0.25 sub round 0.25 add exch +0.25 sub round 0.25 add exch +itransform +} def +/setstrokeadjust where + { + pop true setstrokeadjust + /c % x1 y1 x2 y2 x3 y3 c - + { + curveto + } def + /C + /c load def + /v % x2 y2 x3 y3 v - + { + currentpoint 6 2 roll curveto + } def + /V + /v load def + /y % x1 y1 x2 y2 y - + { + 2 copy curveto + } def + /Y + /y load def + /l % x y l - + { + lineto + } def + /L + /l load def + /m % x y m - + { + moveto + } def + } + {%else + /c + { + pl curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll pl curveto + } def + /V + /v load def + /y + { + pl 2 copy curveto + } def + /Y + /y load def + /l + { + pl lineto + } def + /L + /l load def + /m + { + pl moveto + } def + }ifelse +% graphic state operators +/d % array phase d - +{ +setdash +} def +/cf {} def % - cf flatness +/i % flatness i - +{ +dup 0 eq + { + pop cf + } if +setflat +} def +/j % linejoin j - +{ +setlinejoin +} def +/J % linecap J - +{ +setlinecap +} def +/M % miterlimit M - +{ +setmiterlimit +} def +/w % linewidth w - +{ +setlinewidth +} def +% path painting operators +/H % - H - +{} def +/h % - h - +{ +closepath +} def +/N % - N - +{ +_pola 0 eq + { + _doClip 1 eq {clip /_doClip 0 ddef} if + newpath + } + { + /CRender {N} ddef + }ifelse +} def +/n % - n - +{N} def +/F % - F - +{ +_pola 0 eq + { + _doClip 1 eq + { + gsave _pf grestore clip newpath /_lp /none ddef _fc + /_doClip 0 ddef + } + { + _pf + }ifelse + } + { + /CRender {F} ddef + }ifelse +} def +/f % - f - +{ +closepath +F +} def +/S % - S - +{ +_pola 0 eq + { + _doClip 1 eq + { + gsave _ps grestore clip newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + _ps + }ifelse + } + { + /CRender {S} ddef + }ifelse +} def +/s % - s - +{ +closepath +S +} def +/B % - B - +{ +_pola 0 eq + { + _doClip 1 eq % F clears _doClip + gsave F grestore + { + gsave S grestore clip newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + S + }ifelse + } + { + /CRender {B} ddef + }ifelse +} def +/b % - b - +{ +closepath +B +} def +/W % - W - +{ +/_doClip 1 ddef +} def +/* % - [string] * - +{ +count 0 ne + { + dup type (stringtype) eq {pop} if + } if +_pola 0 eq {newpath} if +} def +% group operators +/u % - u - +{} def +/U % - U - +{} def +/q % - q - +{ +_pola 0 eq {gsave} if +} def +/Q % - Q - +{ +_pola 0 eq {grestore} if +} def +/*u % - *u - +{ +_pola 1 add /_pola exch ddef +} def +/*U % - *U - +{ +_pola 1 sub /_pola exch ddef +_pola 0 eq {CRender} if +} def +/D % polarized D - +{pop} def +/*w % - *w - +{} def +/*W % - *W - +{} def +% place operators +/` % matrix llx lly urx ury string ` - +{ +/_i save ddef +6 1 roll 4 npop +concat pop +userdict begin +/showpage {} def +0 setgray +0 setlinecap +1 setlinewidth +0 setlinejoin +10 setmiterlimit +[] 0 setdash +newpath +0 setgray +false setoverprint +} def +/~ % - ~ - +{ +end +_i restore +} def +% color operators +/O % flag O - +{ +0 ne +/_of exch ddef +/_lp /none ddef +} def +/R % flag R - +{ +0 ne +/_os exch ddef +/_lp /none ddef +} def +/g % gray g - +{ +/_gf exch ddef +/_fc +{ +_lp /fill ne + { + _of setoverprint + _gf setgray + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/G % gray G - +{ +/_gs exch ddef +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _gs setgray + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/k % cyan magenta yellow black k - +{ +_cf astore pop +/_fc +{ +_lp /fill ne + { + _of setoverprint + _cf aload pop setcmykcolor + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/K % cyan magenta yellow black K - +{ +_cs astore pop +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _cs aload pop setcmykcolor + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/x % cyan magenta yellow black name gray x - +{ +/_gf exch ddef +findcmykcustomcolor +/_if exch ddef +/_fc +{ +_lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/X % cyan magenta yellow black name gray X - +{ +/_gs exch ddef +findcmykcustomcolor +/_is exch ddef +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +% locked object operator +/A % value A - +{ +pop +} def +currentdict readonly pop end +setpacking +% annotate page operator +/annotatepage +{ +} def +%%EndResource +%%EndProlog +%%BeginSetup +%%IncludeFont: Helvetica +Adobe_cmykcolor /initialize get exec +Adobe_cshow /initialize get exec +Adobe_customcolor /initialize get exec +Adobe_typography_AI3 /initialize get exec +Adobe_IllustratorA_AI3 /initialize get exec +[ +39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis +/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute +/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde +/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex +/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash +/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef +/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash +/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef +/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide +/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright +/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand +/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex +/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex +/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla +/hungarumlaut/ogonek/caron +TE +%AI3_BeginEncoding: _Helvetica Helvetica +[/_Helvetica/Helvetica 0 0 1 TZ +%AI3_EndEncoding AdobeType +%%EndSetup +0 A +u +0 R +0 G +0 i 0 J 0 j 1.7 w 4 M []0 d +%AI3_Note: +0 D +326.1913 322.5848 m +326.1913 451.4635 L +197.3126 451.4635 L +197.3126 322.5848 L +326.1913 322.5848 L +s +1 w +379.6991 380.6952 m +379.6991 494.0395 L +266.9301 494.0395 L +266.9301 380.6952 L +379.6991 380.6952 L +s +379.6991 380.6952 m +379.6991 494.0395 L +326.1913 451.4635 L +326.1913 322.5848 L +379.6991 380.6952 L +s +266.9301 380.6952 m +266.9301 494.0395 L +197.3126 451.4635 L +197.3126 322.5848 L +266.9301 380.6952 L +s +U +u +u +0 O +0 g +2 w +327.6988 450.0682 m +327.6988 452.9316 L +324.8353 452.9316 L +324.8353 450.0682 L +327.6988 450.0682 L +b +326.2671 451.4999 m +B +U +u +381.2906 492.4544 m +381.2906 495.3179 L +378.4271 495.3179 L +378.4271 492.4544 L +381.2906 492.4544 L +b +379.859 493.8862 m +B +U +u +381.2906 379.4244 m +381.2906 382.2879 L +378.4271 382.2879 L +378.4271 379.4244 L +381.2906 379.4244 L +b +379.859 380.8562 m +B +U +u +268.2606 379.4244 m +268.2606 382.2879 L +265.3972 382.2879 L +265.3972 379.4244 L +268.2606 379.4244 L +b +266.8289 380.8562 m +B +U +u +268.2606 492.9416 m +268.2606 495.805 L +265.3972 495.805 L +265.3972 492.9416 L +268.2606 492.9416 L +b +266.8289 494.3734 m +B +U +u +198.7442 450.0317 m +198.7442 452.8952 L +195.8808 452.8952 L +195.8808 450.0317 L +198.7442 450.0317 L +b +197.3126 451.4635 m +B +U +u +198.7442 321.4114 m +198.7442 324.2748 L +195.8808 324.2748 L +195.8808 321.4114 L +198.7442 321.4114 L +b +197.3126 322.8432 m +B +U +u +327.8517 321.4114 m +327.8517 324.2748 L +324.9883 324.2748 L +324.9883 321.4114 L +327.8517 321.4114 L +b +326.4201 322.8432 m +B +U +U +u +u +0 To +1.9488 0 0 1.9488 386.1157 491.4761 0 Tp +TP +0 Tr +1 w +/_Helvetica 5.1315 Tf +0 Ts +100 Tz +20 Tt +0 TA +0 0 5 TC +100 100 200 TW +0 0 0 Ti +0 Ta +0 Tq +5.6445 0 Tl +0.1026 Tc +0 Tw +(Black\r) Tx +T* +(Expanded\r) Tx +T* +(Large\r) Tx +T* +(1,1,1) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 385.2657 391.4755 0 Tp +TP +0 Tr +(Black\r) Tx +T* +(Condensed\r) Tx +T* +(Large\r) Tx +T* +(1,0,1) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 269.215 531.5264 0 Tp +TP +0 Tr +(Light\r) Tx +T* +(Expanded\r) Tx +T* +(Large\r) Tx +T* +(0,1,1) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 332.0654 317.3751 0 Tp +TP +0 Tr +(Black\r) Tx +T* +(Condensed\r) Tx +T* +(Small\r) Tx +T* +(1,0,0) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 330.5654 443.3758 0 Tp +TP +0 Tr +(Black\r) Tx +T* +(Expanded\r) Tx +T* +(Small\r) Tx +T* +(1,1,0) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 190.5646 447.4258 0 Tp +TP +-11.5326 0 Td +0 Tr +2 Ta +(Light\r) Tx +-12.2895 -5.6445 Td +(Expanded\r) Tx +10.5857 -5.6445 Td +(Small\r) Tx +1.4169 -5.6445 Td +(0,1,0) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 190.5646 321.0251 0 Tp +TP +-11.5326 0 Td +0 Tr +(Light\r) Tx +-15.5266 -5.6445 Td +(Condensed\r) Tx +13.8228 -5.6445 Td +(Small\r) Tx +1.4169 -5.6445 Td +(0,0,0) Tx +(\r) TX +TO +U +U +u +u +0 To +1.9488 0 0 1.9488 269.765 417.5257 0 Tp +TP +0 Tr +0 Ta +(Light\r) Tx +T* +(Condensed\r) Tx +T* +(Large\r) Tx +T* +(0,0,1) Tx +(\r) TX +TO +U +U +u +u +0 To +1 0 0 1 216.5 312 0 Tp +TP +0 Tr +/_Helvetica 9 Tf +13.2001 0 Tl +0.1799 Tc +(design axis 1: weight) Tx +(\r) TX +TO +U +U +u +u +0 To +0.7711 0.6367 -0.6367 0.7711 212.5 323.5 0 Tp +TP +0 Tr +(design axis 3: size) Tx +(\r) TX +TO +U +U +u +u +0 To +0 1 -1 0 206.5 344 0 Tp +TP +0 Tr +(design axis 2: width) Tx +(\r) TX +TO +U +U +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_IllustratorA_AI3 /terminate get exec +Adobe_typography_AI3 /terminate get exec +Adobe_customcolor /terminate get exec +Adobe_cshow /terminate get exec +Adobe_cmykcolor /terminate get exec +Adobe_packedarray /terminate get exec +%%EOF diff --git a/usergrps/uktug/baskervi/5_3/mmfour.eps b/usergrps/uktug/baskervi/5_3/mmfour.eps new file mode 100644 index 0000000000..7967c3c63f --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/mmfour.eps @@ -0,0 +1,1644 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(TM) 3.2gm5 +%%For: (Terry) (Adobe Systems) +%%Title: (MM.4D.Space.Diagr) +%%CreationDate: (2/18/92) (6:40 PM) +%%BoundingBox: 192 317 429 488 +%%DocumentProcessColors: Black +%%DocumentFonts: Helvetica +%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0 +%%+ procset Adobe_cmykcolor 1.1 0 +%%+ procset Adobe_cshow 1.1 0 +%%+ procset Adobe_customcolor 1.0 0 +%%+ procset Adobe_typography_AI3 1.0 1 +%%+ procset Adobe_IllustratorA_AI3 1.0 1 +%AI3_ColorUsage: Black&White +%AI3_TemplateBox: 306 396 306 396 +%AI3_TileBox: -552 730 0 1460 +%AI3_DocumentPreview: Macintosh_Pic +%%EndComments +%%BeginProlog +%%BeginResource: procset Adobe_packedarray 2.0 0 +%%Title: (Packed Array Operators) +%%Version: 2.0 +%%CreationDate: (8/2/90) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +userdict /Adobe_packedarray 5 dict dup begin put +/initialize % - initialize - +{ +/packedarray where + { + pop + } + { + Adobe_packedarray begin + Adobe_packedarray + { + dup xcheck + { + bind + } if + userdict 3 1 roll put + } forall + end + } ifelse +} def +/terminate % - terminate - +{ +} def +/packedarray % arguments count packedarray array +{ +array astore readonly +} def +/setpacking % boolean setpacking - +{ +pop +} def +/currentpacking % - setpacking boolean +{ +false +} def +currentdict readonly pop end +%%EndResource +Adobe_packedarray /initialize get exec +%%BeginResource: procset Adobe_cmykcolor 1.1 0 +%%Title: (CMYK Color Operators) +%%Version: 1.1 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cmykcolor 4 dict dup begin put +/initialize % - initialize - +{ +/setcmykcolor where + { + pop + } + { + userdict /Adobe_cmykcolor_vars 2 dict dup begin put + /_setrgbcolor + /setrgbcolor load def + /_currentrgbcolor + /currentrgbcolor load def + Adobe_cmykcolor begin + Adobe_cmykcolor + { + dup xcheck + { + bind + } if + pop pop + } forall + end + end + Adobe_cmykcolor begin + } ifelse +} def +/terminate % - terminate - +{ +currentdict Adobe_cmykcolor eq + { + end + } if +} def +/setcmykcolor % cyan magenta yellow black setcmykcolor - +{ +1 sub 4 1 roll +3 + { + 3 index add neg dup 0 lt + { + pop 0 + } if + 3 1 roll + } repeat +Adobe_cmykcolor_vars /_setrgbcolor get exec +pop +} def +/currentcmykcolor % - currentcmykcolor cyan magenta yellow black +{ +Adobe_cmykcolor_vars /_currentrgbcolor get exec +3 + { + 1 sub neg 3 1 roll + } repeat +0 +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 1.1 0 +%%Title: (cshow Operator) +%%Version: 1.1 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 3 dict dup begin put +/initialize % - initialize - +{ +/cshow where + { + pop + } + { + userdict /Adobe_cshow_vars 1 dict dup begin put + /_cshow % - _cshow proc + {} def + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + userdict 3 1 roll put + } forall + end + end + } ifelse +} def +/terminate % - terminate - +{ +} def +/cshow % proc string cshow - +{ +exch +Adobe_cshow_vars + exch /_cshow + exch put + { + 0 0 Adobe_cshow_vars /_cshow get exec + } forall +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_customcolor 1.0 0 +%%Title: (Custom Color Operators) +%%Version: 1.0 +%%CreationDate: (5/9/88) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_customcolor 5 dict dup begin put +/initialize % - initialize - +{ +/setcustomcolor where + { + pop + } + { + Adobe_customcolor begin + Adobe_customcolor + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_customcolor begin + } ifelse +} def +/terminate % - terminate - +{ +currentdict Adobe_customcolor eq + { + end + } if +} def +/findcmykcustomcolor % cyan magenta yellow black name findcmykcustomcolor +%%+ object +{ +5 packedarray +} def +/setcustomcolor % object tint setcustomcolor - +{ +exch +aload pop pop +4 + { + 4 index mul 4 1 roll + } repeat +5 -1 roll pop +setcmykcolor +} def +/setoverprint % boolean setoverprint - +{ +pop +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_typography_AI3 1.1 0 +%%Title: (Typography Operators) +%%Version: 1.0 +%%CreationDate:(5/31/90) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_typography_AI3 47 dict dup begin put +/initialize % - initialize - +{ +/TZ + where + { + pop + } + { + Adobe_typography_AI3 begin + Adobe_typography_AI3 + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_typography_AI3 begin + } ifelse +} def +/terminate % - terminate - +{ +currentdict Adobe_typography_AI3 eq + { + end + } if +} def +% [ number value stream [ array for encoding modification ] modifyEncoding +%%+ ==> [ modified array ] +/modifyEncoding +{ + /_tempEncode exch ddef + + % pointer for sequential encodings + /_pntr 0 ddef + + { + % get bottom object + counttomark -1 roll + % is it a mark ? + dup type dup /marktype eq + { + % exit + pop pop exit + } + { + % ... object ... type .... + % insert if a nametype + /nametype eq + { + % insert the name at _pntr and increment pointer + _tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll + put + } + { + % reset _pntr if it's a number + /_pntr exch ddef + } + ifelse + } + ifelse + } + loop + + % return the modified encoding + _tempEncode +} +def +/TE % Set std platform encoding % (encoding pairs) TE - +{ + StandardEncoding 256 array copy modifyEncoding + /_nativeEncoding exch def +} def +% re-define font +% expected arguments +% for 'normal fonts : +% [ /_Helvetica-Bold/Helvetica-Bold direction fontScript defaultEncoding TZ +% +% for cartographic, pictographic, and expert fonts : +% [ ... number value stream ... /_Symbol/Symbol +% direction fontScript defaultEncoding TZ +% for blended fonts w/ default encoding : +% [ /_AdobeSans_20ULig1XCond-Bold/AdobeSans +% direction fontScript defaultEncoding [ w0 w1 ... wn ] TZ +% for blended fonts w/ special encoding : +% [ ... number value stream ... /_AdobeSans_20ULig1XCond/AdobeSans +% direction fontScript defaultEncoding [ w0 w1 ... wn ] TZ +/TZ +{ + % set weight vector (if present) + dup type /arraytype eq {/_wv exch def} {/_wv 0 def} ifelse + % platform dependent coding flag + /_useNativeEncoding exch def + % pop fontScript & direction + pop pop + + % create a new dictionary with length + % equal to original dictionary length + 2 + % copy all the key/value pairs except FID + % call makeblended font with the weight values if _wv is an array + findfont _wv type /arraytype eq {_wv makeblendedfont} if dup length 2 add + dict + + begin + + % copy all the values but the FID + % into the new dictionary + mark exch + { + 1 index /FID ne { def } if cleartomark mark + } + forall + % discard last mark + pop + + % define FontName + /FontName exch def + + % if no re-encoding stream is present + % then if the base encoding vector of the font + % is the same as StandardEncoding + % and the use platform encoding flag is true + % then install AI platform encoding + % else leave the base encoding in effect + counttomark 0 eq + { + 1 _useNativeEncoding eq + { + /Encoding _nativeEncoding def + } + if + % clean up + cleartomark + } + { + % custom encoding to be done + % start off with a copy of the font's standard encoding + /Encoding load 256 array copy + modifyEncoding /Encoding exch def + } + ifelse + FontName currentdict + end + + % register the new font + definefont pop +} +def +% text painting operators +/tr % string tr ax ay string +{ +_ax _ay 3 2 roll +} def +/trj % string trj cx cy fillchar ax ay string +{ +_cx _cy _sp _ax _ay 6 5 roll +} def +/a0 +{ +/Tx % text % textString Tx - + { + dup + currentpoint 3 2 roll + tr _psf + newpath moveto + tr _ctm _pss + } ddef +/Tj % justified text % textString Tj - + { + dup + currentpoint 3 2 roll + trj _pjsf + newpath moveto + trj _ctm _pjss + } ddef + +} def +/a1 +{ +/Tx % text % textString Tx - + { + dup currentpoint 4 2 roll gsave + dup currentpoint 3 2 roll + tr _psf + newpath moveto + tr _ctm _pss + grestore 3 1 roll moveto tr sp + } ddef +/Tj % justified text % textString Tj - + { + dup currentpoint 4 2 roll gsave + dup currentpoint 3 2 roll + trj _pjsf + newpath moveto + trj _ctm _pjss + grestore 3 1 roll moveto tr sp + } ddef + +} def +/e0 +{ +/Tx % text % textString Tx - + { + tr _psf + } ddef +/Tj % justified text % textString Tj - + { + trj _pjsf + } ddef +} def +/e1 +{ +/Tx % text % textString Tx - + { + dup currentpoint 4 2 roll gsave + tr _psf + grestore 3 1 roll moveto tr sp + } ddef +/Tj % justified text % textString Tj - + { + dup currentpoint 4 2 roll gsave + trj _pjsf + grestore 3 1 roll moveto tr sp + } ddef +} def +/i0 +{ +/Tx % text % textString Tx - + { + tr sp + } ddef +/Tj % justified text % textString Tj - + { + trj jsp + } ddef +} def +/i1 +{ +W N +} def +/o0 +{ +/Tx % text % textString Tx - + { + tr sw rmoveto + } ddef +/Tj % justified text % textString Tj - + { + trj swj rmoveto + } ddef +} def +/r0 +{ +/Tx % text % textString Tx - + { + tr _ctm _pss + } ddef +/Tj % justified text % textString Tj - + { + trj _ctm _pjss + } ddef +} def +/r1 +{ +/Tx % text % textString Tx - + { + dup currentpoint 4 2 roll currentpoint gsave newpath moveto + tr _ctm _pss + grestore 3 1 roll moveto tr sp + } ddef +/Tj % justified text % textString Tj - + { + dup currentpoint 4 2 roll currentpoint gsave newpath moveto + trj _ctm _pjss + grestore 3 1 roll moveto tr sp + } ddef +} def +% font operators +% Binding +/To % begin text % bindType To - +{ + pop _ctm currentmatrix pop +} def +/TO % end text % TO - +{ + Te _ctm setmatrix newpath +} def +% Text paths +/Tp % begin text path % a b c d tx ty startPt Tp - +{ + pop _tm astore pop _ctm setmatrix + _tDict begin /W {} def /h {} def +} def +/TP % end text path % TP - +{ + end + iTm 0 0 moveto +} def +% Render mode & matrix operators +/Tr % begin render % render Tr - +{ + _render 3 le {currentpoint newpath moveto} if + dup 8 eq {pop 0} {dup 9 eq {pop 1} if} ifelse + dup /_render exch ddef + _renderStart exch get load exec +} def +/iTm % internal set text matrix % - iTm - (uses _tm as implicit argument) +{ +_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale +} def +/Tm % set text matrix % a b c d tx ty Tm - +{ +_tm astore pop iTm 0 0 moveto +} def +/Td % translate text matrix % tx ty Td - +{ +_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto +} def +/Te % end render % - Te - +{ + _render -1 eq {} {_renderEnd _render get dup null ne {load exec} {pop} + ifelse} ifelse + /_render -1 ddef +} def +% Attributes +/Ta % set alignment % alignment Ta - +{ +pop +} def +/Tf % set font name and size % fontname size Tf - +{ +dup 1000 div /_fScl exch ddef +exch findfont exch scalefont setfont +} def +/Tl % set leading % leading paragraphLeading Tl - +{ +pop +0 exch _leading astore pop +} def +/Tt % set user tracking % userTracking Tt - +{ +pop +} def +/TW % set word spacing % minSpace optSpace maxSpace TW - +{ +3 npop +} def +/Tw % set computed word spacing % wordSpace Tw +{ +/_cx exch ddef +} def +/TC % set character spacing % minSpace optSpace maxSpace TC - +{ +3 npop +} def +/Tc % set computed char spacing % charSpace Tc - +{ +/_ax exch ddef +} def +/Ts % set super/subscripting (rise) % rise Ts - +{ +/_rise exch ddef +currentpoint +iTm +moveto +} def +/Ti % set indentation % firstStartIndent otherStartIndent stopIndent Ti - +{ +3 npop +} def +/Tz % set horizontal scaling % scalePercent Tz - +{ +100 div /_hs exch ddef +iTm +} def +/TA % set pairwise kerning % autoKern TA - + % autoKern = 0 -> no pair kerning + % = 1 -> automatic pair kerning +{ +pop +} def +/Tq % set hanging quotes % hangingQuotes Tq - + % hangingQuotes = 0 -> no hanging quotes + % = 1 -> hanging quotes +{ +pop +} def +% Text Bodies +/TX {pop} def +%/Tx % non-justified text % textString Tx - +%/Tj % justified text % textString Tj - +/Tk % kern % autoKern kernValue Tk - + % autoKern = 0 -> manual kern, = 1 -> auto kern + % kernValue = kern value in em/1000 space +{ +exch pop _fScl mul neg 0 rmoveto +} def +/TK % non-printing kern % autoKern kernValue TK - +{ +2 npop +} def +/T* % carriage return & line feed % - T* - +{ +_leading aload pop neg Td +} def +/T*- % carriage return & negative line feed % - T*- - +{ +_leading aload pop Td +} def +/T- % print a discretionary hyphen % - T- - +{ +_hyphen Tx +} def +/T+ % discretionary hyphen hyphen % - T+ - +{} def +/TR % reset pattern matrix % a b c d tx ty TR - +{ +_ctm currentmatrix pop +_tm astore pop +iTm 0 0 moveto +} def +/TS % special chars % textString justified TS - +{ +0 eq {Tx} {Tj} ifelse +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_IllustratorA_AI3 1.0 2 +%%Title: (Adobe Illustrator (R) Version 3.0 Abbreviated Prolog) +%%Version: 1.0 +%%CreationDate: (7/22/89) () +%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_IllustratorA_AI3 61 dict dup begin put +% initialization +/initialize % - initialize - +{ +% 47 vars, but leave slack of 10 entries for custom Postscript fragments +userdict /Adobe_IllustratorA_AI3_vars 57 dict dup begin put +% paint operands +/_lp /none def +/_pf {} def +/_ps {} def +/_psf {} def +/_pss {} def +/_pjsf {} def +/_pjss {} def +/_pola 0 def +/_doClip 0 def +% paint operators +/cf currentflat def % - cf flatness +% typography operands +/_tm matrix def +/_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def +/_renderEnd [null null null null /i1 /i1 /i1 /i1] def +/_render -1 def +/_rise 0 def +/_ax 0 def % x character spacing (_ax, _ay, _cx, _cy follows awidthshow +%%+ naming convention) +/_ay 0 def % y character spacing +/_cx 0 def % x word spacing +/_cy 0 def % y word spacing +/_leading [0 0] def +/_ctm matrix def +/_mtx matrix def +/_sp 16#020 def +/_hyphen (-) def +/_fScl 0 def +/_cnt 0 def +/_hs 1 def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +% typography operators +/Tx {} def +/Tj {} def +% compound path operators +/CRender {} def +% printing +/_AI3_savepage {} def +% color operands +/_gf null def +/_cf 4 array def +/_if null def +/_of false def +/_fc {} def +/_gs null def +/_cs 4 array def +/_is null def +/_os false def +/_sc {} def +/_i null def +Adobe_IllustratorA_AI3 begin +Adobe_IllustratorA_AI3 + { + dup xcheck + { + bind + } if + pop pop + } forall +end +end +Adobe_IllustratorA_AI3 begin +Adobe_IllustratorA_AI3_vars begin +newpath +} def +/terminate % - terminate - +{ +end +end +} def +% definition operators +/_ % - _ null +null def +/ddef % key value ddef - +{ +Adobe_IllustratorA_AI3_vars 3 1 roll put +} def +/xput % key value literal xput - +{ +dup load dup length exch maxlength eq + { + dup dup load dup + length 2 mul dict copy def + } if +load begin def end +} def +/npop % integer npop - +{ + { + pop + } repeat +} def +% marking operators +/sw % ax ay string sw x y +{ +dup length exch stringwidth +exch 5 -1 roll 3 index 1 sub mul add +4 1 roll 3 1 roll 1 sub mul add +} def +/swj % cx cy fillchar ax ay string swj x y +{ +dup 4 1 roll +dup length exch stringwidth +exch 5 -1 roll 3 index 1 sub mul add +4 1 roll 3 1 roll 1 sub mul add +6 2 roll /_cnt 0 ddef +{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop +exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop +} def +/ss % ax ay string matrix ss - +{ +4 1 roll + { % matrix ax ay char 0 0 {proc} - + 2 npop + (0) exch 2 copy 0 exch put pop + gsave + false charpath currentpoint + 4 index setmatrix + stroke + grestore + moveto + 2 copy rmoveto + } exch cshow +3 npop +} def +/jss % cx cy fillchar ax ay string matrix jss - +{ +4 1 roll + { % cx cy fillchar matrix ax ay char 0 0 {proc} - + 2 npop + (0) exch 2 copy 0 exch put + gsave + _sp eq + { + exch 6 index 6 index 6 index 5 -1 roll widthshow + currentpoint + } + { + false charpath currentpoint + 4 index setmatrix stroke + }ifelse + grestore + moveto + 2 copy rmoveto + } exch cshow +6 npop +} def +% path operators +/sp % ax ay string sp - +{ + { + 2 npop (0) exch + 2 copy 0 exch put pop + false charpath + 2 copy rmoveto + } exch cshow +2 npop +} def +/jsp % cx cy fillchar ax ay string jsp - +{ + { % cx cy fillchar ax ay char 0 0 {proc} - + 2 npop + (0) exch 2 copy 0 exch put + _sp eq + { + exch 5 index 5 index 5 index 5 -1 roll widthshow + } + { + false charpath + }ifelse + 2 copy rmoveto + } exch cshow +5 npop +} def +% path construction operators +/pl % x y pl x y +{ +transform +0.25 sub round 0.25 add exch +0.25 sub round 0.25 add exch +itransform +} def +/setstrokeadjust where + { + pop true setstrokeadjust + /c % x1 y1 x2 y2 x3 y3 c - + { + curveto + } def + /C + /c load def + /v % x2 y2 x3 y3 v - + { + currentpoint 6 2 roll curveto + } def + /V + /v load def + /y % x1 y1 x2 y2 y - + { + 2 copy curveto + } def + /Y + /y load def + /l % x y l - + { + lineto + } def + /L + /l load def + /m % x y m - + { + moveto + } def + } + {%else + /c + { + pl curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll pl curveto + } def + /V + /v load def + /y + { + pl 2 copy curveto + } def + /Y + /y load def + /l + { + pl lineto + } def + /L + /l load def + /m + { + pl moveto + } def + }ifelse +% graphic state operators +/d % array phase d - +{ +setdash +} def +/cf {} def % - cf flatness +/i % flatness i - +{ +dup 0 eq + { + pop cf + } if +setflat +} def +/j % linejoin j - +{ +setlinejoin +} def +/J % linecap J - +{ +setlinecap +} def +/M % miterlimit M - +{ +setmiterlimit +} def +/w % linewidth w - +{ +setlinewidth +} def +% path painting operators +/H % - H - +{} def +/h % - h - +{ +closepath +} def +/N % - N - +{ +_pola 0 eq + { + _doClip 1 eq {clip /_doClip 0 ddef} if + newpath + } + { + /CRender {N} ddef + }ifelse +} def +/n % - n - +{N} def +/F % - F - +{ +_pola 0 eq + { + _doClip 1 eq + { + gsave _pf grestore clip newpath /_lp /none ddef _fc + /_doClip 0 ddef + } + { + _pf + }ifelse + } + { + /CRender {F} ddef + }ifelse +} def +/f % - f - +{ +closepath +F +} def +/S % - S - +{ +_pola 0 eq + { + _doClip 1 eq + { + gsave _ps grestore clip newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + _ps + }ifelse + } + { + /CRender {S} ddef + }ifelse +} def +/s % - s - +{ +closepath +S +} def +/B % - B - +{ +_pola 0 eq + { + _doClip 1 eq % F clears _doClip + gsave F grestore + { + gsave S grestore clip newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + S + }ifelse + } + { + /CRender {B} ddef + }ifelse +} def +/b % - b - +{ +closepath +B +} def +/W % - W - +{ +/_doClip 1 ddef +} def +/* % - [string] * - +{ +count 0 ne + { + dup type (stringtype) eq {pop} if + } if +_pola 0 eq {newpath} if +} def +% group operators +/u % - u - +{} def +/U % - U - +{} def +/q % - q - +{ +_pola 0 eq {gsave} if +} def +/Q % - Q - +{ +_pola 0 eq {grestore} if +} def +/*u % - *u - +{ +_pola 1 add /_pola exch ddef +} def +/*U % - *U - +{ +_pola 1 sub /_pola exch ddef +_pola 0 eq {CRender} if +} def +/D % polarized D - +{pop} def +/*w % - *w - +{} def +/*W % - *W - +{} def +% place operators +/` % matrix llx lly urx ury string ` - +{ +/_i save ddef +6 1 roll 4 npop +concat pop +userdict begin +/showpage {} def +0 setgray +0 setlinecap +1 setlinewidth +0 setlinejoin +10 setmiterlimit +[] 0 setdash +newpath +0 setgray +false setoverprint +} def +/~ % - ~ - +{ +end +_i restore +} def +% color operators +/O % flag O - +{ +0 ne +/_of exch ddef +/_lp /none ddef +} def +/R % flag R - +{ +0 ne +/_os exch ddef +/_lp /none ddef +} def +/g % gray g - +{ +/_gf exch ddef +/_fc +{ +_lp /fill ne + { + _of setoverprint + _gf setgray + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/G % gray G - +{ +/_gs exch ddef +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _gs setgray + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/k % cyan magenta yellow black k - +{ +_cf astore pop +/_fc +{ +_lp /fill ne + { + _of setoverprint + _cf aload pop setcmykcolor + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/K % cyan magenta yellow black K - +{ +_cs astore pop +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _cs aload pop setcmykcolor + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/x % cyan magenta yellow black name gray x - +{ +/_gf exch ddef +findcmykcustomcolor +/_if exch ddef +/_fc +{ +_lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/X % cyan magenta yellow black name gray X - +{ +/_gs exch ddef +findcmykcustomcolor +/_is exch ddef +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +% locked object operator +/A % value A - +{ +pop +} def +currentdict readonly pop end +setpacking +% annotate page operator +/annotatepage +{ +} def +%%EndResource +%%EndProlog +%%BeginSetup +%%IncludeFont: Helvetica +Adobe_cmykcolor /initialize get exec +Adobe_cshow /initialize get exec +Adobe_customcolor /initialize get exec +Adobe_typography_AI3 /initialize get exec +Adobe_IllustratorA_AI3 /initialize get exec +[ +39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis +/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute +/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde +/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex +/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash +/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef +/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash +/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef +/guillemotleft/guillemotright/ellipsis/.notdef/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide +/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright +/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand +/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex +/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex +/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla +/hungarumlaut/ogonek/caron +TE +%AI3_BeginEncoding: _Helvetica Helvetica +[/_Helvetica/Helvetica 0 0 1 TZ +%AI3_EndEncoding AdobeType +%%EndSetup +0 A +0 R +0 G +0 i 0 J 0 j 0.5 w 4 M [4 4 ]0 d +%AI3_Note: +0 D +234.4526 422.7397 m +364.1816 356.6641 l +S +234.7478 480.9011 m +364.1816 414.8253 l +S +265.157 458.7585 m +394.5909 392.978 l +S +199.0244 392.6258 m +328.7535 326.5501 l +S +265.157 393.2163 m +394.8861 327.1405 l +S +292.6139 422.4446 m +422.343 356.3688 l +S +198.7292 459.0536 m +328.4582 392.978 l +S +292.3187 480.9011 m +422.0477 414.8253 l +S +u +u +u +1.2 w []0 d +264.8618 392.921 m +264.8618 459.0536 L +198.7292 459.0536 L +198.7292 392.921 L +264.8618 392.921 L +s +1 w +292.3187 422.7397 m +292.3187 480.9011 L +234.4526 480.9011 L +234.4526 422.7397 L +292.3187 422.7397 L +s +U +292.3187 422.7397 m +292.3187 480.9011 L +264.8618 459.0536 L +264.8618 392.921 L +292.3187 422.7397 L +s +234.4526 422.7397 m +234.4526 480.9011 L +198.7292 459.0536 L +198.7292 392.921 L +234.4526 422.7397 L +s +U +U +u +u +1.2 w +394.5909 326.8453 m +394.5909 392.978 L +328.4582 392.978 L +328.4582 326.8453 L +394.5909 326.8453 L +s +1 w +422.0477 356.6641 m +422.0477 414.8253 L +364.1816 414.8253 L +364.1816 356.6641 L +422.0477 356.6641 L +s +U +422.0477 356.6641 m +422.0477 414.8253 L +394.5909 392.978 L +394.5909 326.8453 L +422.0477 356.6641 L +s +364.1816 356.6641 m +364.1816 414.8253 L +328.4582 392.978 L +328.4582 326.8453 L +364.1816 356.6641 L +s +U +0 To +1 0 0 1 224.25 385.25 0 Tp +TP +0 Tr +0 O +0 g +/_Helvetica 7 Tf +0 Ts +100 Tz +20 Tt +0 TA +0 0 5 TC +100 100 200 TW +0 0 0 Ti +0 Ta +0 Tq +13.2001 0 Tl +0.1399 Tc +0 Tw +(Style A) Tx +(\r) TX +TO +0 To +1 0 0 1 348.25 319 0 Tp +TP +0 Tr +(Style B) Tx +(\r) TX +TO +0 To +0.8911 -0.4537 0.4537 0.8911 229.5 368 0 Tp +TP +0 Tr +(design axis 4: Style) Tx +(\r) TX +TO +u +0 R +0 G +2 w +235.8631 421.21 m +235.8631 424.0734 L +232.9996 424.0734 L +232.9996 421.21 L +235.8631 421.21 L +b +234.4314 422.6417 m +B +U +u +236.2049 479.5962 m +236.2049 482.4597 L +233.3414 482.4597 L +233.3414 479.5962 L +236.2049 479.5962 L +b +234.7733 481.028 m +B +U +u +365.6749 413.3162 m +365.6749 416.1797 L +362.8115 416.1797 L +362.8115 413.3162 L +365.6749 413.3162 L +b +364.2432 414.748 m +B +U +u +200.4249 457.5834 m +200.4249 460.4468 L +197.5615 460.4468 L +197.5615 457.5834 L +200.4249 457.5834 L +b +198.9932 459.0152 m +B +U +u +200.4085 391.6735 m +200.4085 394.537 L +197.5451 394.537 L +197.5451 391.6735 L +200.4085 391.6735 L +b +198.9769 393.1053 m +B +U +u +330.1585 325.3032 m +330.1585 328.1666 L +327.2951 328.1666 L +327.2951 325.3032 L +330.1585 325.3032 L +b +328.7269 326.735 m +B +U +u +330.266 391.3032 m +330.266 394.1666 L +327.4026 394.1666 L +327.4026 391.3032 L +330.266 391.3032 L +b +328.8344 392.735 m +B +U +u +293.7049 479.5962 m +293.7049 482.4597 L +290.8414 482.4597 L +290.8414 479.5962 L +293.7049 479.5962 L +b +292.2733 481.028 m +B +U +u +266.1749 457.5834 m +266.1749 460.4468 L +263.3115 460.4468 L +263.3115 457.5834 L +266.1749 457.5834 L +b +264.7432 459.0152 m +B +U +u +293.6131 421.21 m +293.6131 424.0734 L +290.7496 424.0734 L +290.7496 421.21 L +293.6131 421.21 L +b +292.1814 422.6417 m +B +U +u +266.1585 391.6735 m +266.1585 394.537 L +263.2951 394.537 L +263.2951 391.6735 L +266.1585 391.6735 L +b +264.7269 393.1053 m +B +U +u +396.1585 325.3032 m +396.1585 328.1666 L +393.2951 328.1666 L +393.2951 325.3032 L +396.1585 325.3032 L +b +394.7269 326.735 m +B +U +u +396.016 391.3032 m +396.016 394.1666 L +393.1526 394.1666 L +393.1526 391.3032 L +396.016 391.3032 L +b +394.5844 392.735 m +B +U +u +423.1749 413.3162 m +423.1749 416.1797 L +420.3115 416.1797 L +420.3115 413.3162 L +423.1749 413.3162 L +b +421.7432 414.748 m +B +U +u +365.7049 355.3162 m +365.7049 358.1797 L +362.8414 358.1797 L +362.8414 355.3162 L +365.7049 355.3162 L +b +364.2733 356.748 m +B +U +u +423.4549 355.3162 m +423.4549 358.1797 L +420.5914 358.1797 L +420.5914 355.3162 L +423.4549 355.3162 L +b +422.0233 356.748 m +B +U +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_IllustratorA_AI3 /terminate get exec +Adobe_typography_AI3 /terminate get exec +Adobe_customcolor /terminate get exec +Adobe_cshow /terminate get exec +Adobe_cmykcolor /terminate get exec +Adobe_packedarray /terminate get exec +%%EOF diff --git a/usergrps/uktug/baskervi/5_3/myriad.eps b/usergrps/uktug/baskervi/5_3/myriad.eps new file mode 100644 index 0000000000..5511c757c1 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/myriad.eps @@ -0,0 +1,1883 @@ +%! Showfonti.ps +%%BoundingBox: 24 10 414 134 +%%BeginFont: MyriadMM +%!PS-AdobeFont-1.0: MyriadMM 001.000 +%%CreationDate: Mon Jan 27 13:20:33 1992 +%%VMusage: 64760 77552 +%% Myriad is a trademark of Adobe Systems Incorporated. +16 dict begin +/FontInfo 13 dict dup begin +/version (001.000) readonly def +/Notice (Copyright (c) 1992 Adobe Systems Incorporated. All Rights Reserved.Myriad is a trademark of Adobe Systems Incorporated.) readonly def +/FullName (Myriad MM) readonly def +/FamilyName (Myriad MM) readonly def +/Weight (All) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/BlendDesignPositions [ [0 0] [1 0] [0 1] [1 1] ] def +/BlendDesignMap [[[215 0][830 1]][[300 0][700 1]]] def +/BlendAxisTypes [/Weight /Width ] def +end readonly def +/FontName /MyriadMM def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/WeightVector [0.17 0.08 0.52 0.23 ] def +/$Blend {0.08 mul exch 0.52 mul add exch 0.23 mul add add } bind def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/UniqueID 37984 def +/FontBBox{-55.16 -250.00 1143.86 834.91 }readonly def +/Blend 3 dict dup begin +/FontBBox{{-52 -64 -58 -48 }{-250 -250 -250 -250 }{970 970 1100 1432 }{818 843 825 867 }}def +/Private 14 dict def +end def +/shareddict where +{ pop currentshared { setshared } true setshared shareddict } +{ {} userdict } ifelse dup +/makeblendedfont where {/makeblendedfont get dup type /operatortype eq { +pop false} { 0 get dup type /integertype ne +{pop false} {8 lt} ifelse} ifelse } {true}ifelse +{/makeblendedfont { +8 pop +2 copy length exch /WeightVector get length eq +{ dup 0 exch {add} forall 1 sub abs .01 gt } +{ true } ifelse +{ /makeblendedfont cvx errordict /rangecheck get exec } if +exch dup maxlength dict begin { +false {/FID /UniqueID /XUID } { 3 index eq or } forall + { pop pop } { def } ifelse +} forall +{ /Private /FontInfo } { +dup load dup maxlength dict begin { +false { /UniqueID /XUID } { 3 index eq or } forall +{ pop pop }{ def } ifelse } forall currentdict end def +} forall +dup /WeightVector exch def +dup /$Blend exch [ +exch false exch +dup length 1 sub -1 1 { +1 index dup length 3 -1 roll sub get +dup 0 eq { +pop 1 index {/exch load 3 1 roll} if +/pop load 3 1 roll +} {dup 1 eq {pop} +{2 index {/exch load 4 1 roll} if +3 1 roll /mul load 3 1 roll } ifelse +1 index {/add load 3 1 roll} if +exch pop true exch} ifelse +} for +pop { /add load } if +] cvx def +{2 copy length exch length ne {/makeblendedfont cvx errordict /typecheck get exec}if +0 0 1 3 index length 1 sub { +dup 4 index exch get exch 3 index exch get mul add +} for +exch pop exch pop} +{{dup type dup /arraytype eq { + pop 1 index /ForceBold eq { + 5 index 0 0 1 3 index length 1 sub { + dup 4 index exch get {2 index exch get add } {pop} ifelse + } for exch pop exch pop + 2 index /ForceBoldThreshold get gt 3 copy} { +{length 1 index length ne { pop false } { +true exch { type dup /integertype eq exch /realtype eq exch or and } forall +} ifelse } +2 copy 8 index exch exec {pop 5 index 5 index exec} +{exch dup length array 1 index xcheck { cvx } if +dup length 1 sub 0 exch 1 exch { +dup 3 index exch get dup type /arraytype eq { +dup 10 index 6 index exec { +9 index exch 9 index exec} if } if 2 index 3 1 roll put +} for exch pop exch pop +} ifelse 3 copy +1 index dup /StemSnapH eq exch /StemSnapV eq or { +dup length 1 sub {dup 0 le { exit } if +dup dup 1 sub 3 index exch get exch 3 index exch get 2 copy eq { +pop 2 index 2 index 0 put 0 } if le {1 sub} +{dup dup 1 sub 3 index exch get exch 3 index exch get +3 index exch 3 index 1 sub exch put +3 copy put pop +2 copy exch length 1 sub lt {1 add} if} ifelse} loop pop +dup 0 get 0 le { +dup 0 exch {0 gt { exit } if 1 add} forall +dup 2 index length exch sub getinterval} if } if } ifelse put } +{/dicttype eq {6 copy 3 1 roll get exch 2 index exec} +{/makeblendedfont cvx errordict /typecheck get exec} ifelse +} ifelse pop pop } forall pop pop pop pop } +currentdict Blend 2 index exec +currentdict end +} bind put +/$fbf {FontDirectory counttomark 3 add -1 roll known { +cleartomark pop findfont}{ +] exch findfont exch makeblendedfont +dup /Encoding currentfont /Encoding get put definefont +} ifelse currentfont /ScaleMatrix get makefont setfont +} bind put } { pop pop } ifelse exec +/NormalizeDesignVector { + exch 215 sub 615 div + exch 300 sub 400 div +} bind def +/ConvertDesignVector { + 1 2 index sub 1 2 index sub mul 3 1 roll + 1 index 1 2 index sub mul 3 1 roll + 1 2 index sub 1 index mul 3 1 roll + 1 index 1 index mul 3 1 roll + pop pop +} bind def +/$mmff_origfindfont where { + pop save { restore } { pop pop } +} { {} { def } } ifelse +/setshared where { pop true } { false } ifelse +/findfont where pop dup systemdict eq { +pop { currentshared {{}} { true setshared { false setshared } } ifelse shareddict +} {{} userdict } ifelse begin +} { begin { currentdict scheck } { false } ifelse { +currentshared {{}} { true setshared { false setshared } } ifelse +} { {} } ifelse } ifelse +/$mmff_origfindfont /findfont load 3 index exec +/findfont { +dup FontDirectory exch known +{ dup FontDirectory exch get /FontType get 3 ne} +{ dup SharedFontDirectory exch known +{ dup SharedFontDirectory exch get /FontType get 3 ne} +{ false} ifelse} ifelse +{$mmff_origfindfont} { dup dup length string cvs (_) search { +cvn dup dup FontDirectory exch known exch SharedFontDirectory exch known or { +$mmff_origfindfont begin pop +[ exch { (_) search { { cvr } stopped { pop pop } { +exch pop exch } ifelse +} { pop exit } ifelse } loop false /FontInfo where { +pop FontInfo /BlendAxisTypes 2 copy known { +get length counttomark 2 sub eq exch pop +} { pop pop } ifelse } if { +NormalizeDesignVector +ConvertDesignVector +] currentdict exch makeblendedfont +2 copy exch /FontName exch put +definefont} { cleartomark $mmff_origfindfont } ifelse end +} { pop pop pop $mmff_origfindfont } ifelse +} { pop $mmff_origfindfont } ifelse } ifelse +} bind 3 index exec +/SharedFontDirectory dup where { pop pop } { 0 dict 3 index exec } ifelse +end exec pop exec +currentdict end +currentfile eexec +98F13ABE889C84F4229FCEC0606AC4AA082F2BDF1B7A0965A9E8CCC98F9C392B055E5330CD49CF93 +D5C75311A7D1307AA78EB8C7CAC28BD6BE0DFA7F8C15D9DF361AEC66E5D058B304647D93D45C6821 +7F1404E729E0D1B054FFF175E2B9B29A74D9DA51042D32522F8861F8249D57A8B625EF30BA966C8F +A65629D7C08126F64448AF88B779AAE8B20B27E69648E6A5212AB7253778921084B42FE156448980 +6497EC26D7D1A91822C61E83B8B2F3F4CB381B90355104D446ADDF08EAA3BD29E84784170FDA423D +92351FF5D2B4BEDFEBE2DECA97393938463BC3C93F01ACDCDB8772107BB3AD5FF13471BABCDA3CD1 +40932B81BC3DE2B30FFE42957B45DC5DE261E49E31154954C98288362F9576B3A2E4354526BB8759 +526099331218D9CB7C18F5005FD8BC3429CEFB0ABA7FF6E58E871F1123944E9A944CCA5AB07377AF +4E348095DF7E91DC85D67EDE2FB023823210E3839F55A68DE7891CC66EC5631F223E0EE7F17E40DE +BF30AEB264D9E11F128807D6BE63C26901A4368CE8F5146B663588FDFB806AFF0AB94FA7E0269C4B +6B12B52EDADB3D67AFD0B7295AEF72D07412B7191018E059A20F1FEDE4F7CE99B14D6104A0484360 +501929B02B40C8CE8320BA27E6EBE56B2FF577D4D77CC518E3CE0A8749AD56F792DBA77D7D3F6B9D +132EC0E2C4E3FDA38C6CC9302C5656B16D86C9A4864BD4584AB7840C42237C9EF241617A85DB350E +E8B986192491459B88749C523A0D4E282E5D65002E7BAAF5E987A5FE50C583697C2920634801B20C +4159F9B9887F3A0519804AE54AF9906973D1AEF230E5B2A5AEC1F9CF9AE760D0BA2ED573F9DEB854 +F3426EC2E75BB083C8FC3598067F7AFA349A09D68E16EA29E3A0DABDF9B5DFABF7F8E3FCF5D0D5F8 +0609BE2CDBF02E7C45ECA31650558F76C3AD498589329E1B266EBE3D85E3250B58BF6C092947BCA0 +23FF5A42F58AD13D57A50DAD021A3342323B213419FA058B255579741AF84700AD9A60F69E419769 +2D09C89637B5920E8E3D85EB5850AB5EC7B0ABA89298FEB565F50087DC041AF3A46F2898DDAE90B7 +C9234D814CE2339FB858A187F3AF1EE578CCFB89445A082E5ABDC34DAD1B19723666F23E91A27389 +82541304AE033F618AEC568BA8007CB23CB001F69984699777D1CBCA8212FCAA10E1EE3C72D5F624 +B43BFFEA5565DA9BB868C0462AF89669F29F5318EE43DC580BF2CF38A009CAD199E290708EB60792 +452C16F013EE2493457858F41444802DAA0FBE497530D41C79AD2605A202C38A4BBF14A14A3B54FB +8F08E192B98FAC7A3166A239AD14E837124A16BC520F0C836E0D19F5C59D413691E60FF4E8FE859E +E569D2709299838A1FA79B68D6ED1FA9A55E13D24B8ADDE1EE13A790CD5E493D2C32D9CB40B1B15C +09C56531A402FBB408D2D1DADCD25A48AC8BCA4EDA2E41EA70434BD1A7322D93170F6DF41DC54589 +94ED13F9C0F7B62A73CB1682472CCC3447ADF19ABF1F7BB5B9F7B9E70E212AC6F6FBCDA540196820 +B49757AA4769CA4BBAF0C052D38B925F5BCF933F19F7F707FE46B50E01EDEA5D95A248922B96FFBD +04625D8BC51EDC4758DC7A1874CAFBFA4F2AAB003895AD36C48E0EE1D794A6FAEED347EB9159A100 +89DAA047150DE1BAA8AB626FE72BDB39107F030D5CA6961820904BB0CAA4E3981AAE404A7D0CD68D +50E1353054CA77655AF9D0CEEA15F5B7008B1F5ABE5A8B775DF1ED048B70BB5FEAA429FB4E4DC091 +153063E331AB1038D9C9081F981FE4CC97F1B8DF75F8C42405D472966A312C62AD9878F1E3DC1E74 +EC762EC64727B2DEA76340DB045741E6480486E41911D68B1163B3DE883713E3C314136AA96D0041 +5193F289006041320F083D2EC924C1B58EE0BB07D2DC069C497418FB2939C3F04980221B0F61DCA9 +877268205FA8D79F8AE5753B0CA0E27CC63B6712C819A47017F01533C79ECFF5BF0168810D6B0566 +43028A631417AE22E63CE174F99AC83F43450FF46BEEFE79F1F88BC658FA4E16E9C07B0C2AA35BC3 +8F9C96009C872BF55E984A097676A8F331ED3C1CE12908B03A667D7112A7E8BF9CDE7988E37685C4 +171EC05E13C4FFE5E7613046D760CA464D6A1839F1142C66D320247EA41C701EDEF91E68971C7FCD +7F53BAC7179B948C7EBA7EAEB1A5EFECBD2C5A08C4E430F479B0E4CE4CC0565F134518C5FFE46FF9 +9852EF1752D9AB6C9D2CB0059E5A38B940877A5686E6C562FD42E6CE1C6F0E0D07A7E280DCB514DF +ABDD4E52F5F64E5C491FA75F582B5B9F006E00BE142B92A4EFBB5358E6CB6EAC63C15D700B9B71FD +EB7587E249922CB2E7929FAC21282E1A04453854B51CB8F9100BF25F5871CD8803FEF18B32A633B7 +5299D5600CDE403673E9717959501B1FB84425860EF6A810B479F5083E21BB328A650DFD7F040C4E +F9949FCB0C600E03D1B8CA2C6B31BA3173CD23F2F671095CA794B9487D384755943222F35E3DAE04 +600CE47A8F2D7EA4EC1106196B513AB30DC5865FB5845E54E7726A07F2CCE51945D030645992789E +66EE1CE2A1BA5F4ADC802E56A2D19ED5DC67FE63BC9D00D4CE11654E79530493D5618ED6EFC1B950 +8584818DEC0A735CEBD635A90828158F5696E7BD7C9144B812B93CDB47021414BCF90B7C2A468E73 +46E3D8E55725A025F609B6FB86EB1718E61E0C1DCC9E9F09F5DCCD5F4C663696577A0D38A6F5F030 +F680016FEC897CDB76B87294484059659E881E12DEA75204BCA6ED0E9AB28F8271DF46A5461FEF66 +303F263727CF8A1F6C9D084D466654A623C8267F0A40FF229CF13550F09AB1FE9D655C5BFDB0B0BB +6532AEE5F87609485BDAD48C5A48D28C23966167D0D26F8E1491B8D1FB80AA23ED9B3DCFA155538A +400272FECB8A +622F772C9070F852268B1A49F53F472ECC59BF45D00736D035137964DC555984800FEC10B0C22764 +C72142EC675A788A8BDAD19FD6E9EF0C869F54151993F43AE64522158FAC6F7115627063BE34C480 +E23D12D3D91274AFF59557CDF72C52ACF17DE8E1CEC1E4FF260E2C0F88B0E3B3493E12BC38255324 +FFA05E722DA7716E9DE693677DE1D6F709CD6CA3EB45EC6359C67243F20F1B8336FD65FD82E9DB9F +8FAB796FC336703BCEB0AD07D712D84BB77266AED067A02636A928AC43EF35EF2B7055D02E2785A4 +D3CC59771CFE8B60F848E1E36422C9F1285B46B378E1C7B04513286C6C2CDF543CA4CDB4D1F1FA55 +9B10C090F872C467288C8530DE5506B244E7B34EF3D4E9D9174F155106B555464057A07F0B060340 +BBE0773A69B66D335CA539BD093766A0668BBF36C57F7A619FDD9B32C1B4E66A95B3AA270DC11B7A +15C9B62CBB8969DF3AACFD02690B30AAD08A5668E17B0BB10DCE0EA2BF2962CFE1D12E7B62EAB241 +153DD44E49491A26A8EAD8CE7FC9F643B4FFCD7F3F00D8062951F49B53D0319EBA74735CC5D7BFD4 +91B0AB2EC6172FA07F01ED304550E232446ED216FDD4B1053003C934218BE79643069A6DEBB0D812 +7EA98868B493EBE9CF0C1AFD6F807030ACB22E6847F7A41892D78C23E5DC073931F0F47EBDD821F3 +DB8B3E0D4787CEA52A3C85A347E260E165408A15EF870315AA288AD3B52C0439F8901549229627BF +CE8A593AF213BB27FB0DB0681CA1D18A2B8C784CB838DEA2BA781F948A8E94139A3CBD608D26C789 +096FBA5A002B09B0B6D043428F175DF29B408B11D8E0996F78BE684C27B90745D78FB95F189F5EC6 +66F6535EB388D6BDE3F91463A71CF8598CAC910338D64D7B3DE35660623C9073B55F91564C259F8D +D207C102026378E87B7605FADEB4C5C68A799D431FE1971379E559A6FD1D107664BE66838E702380 +8453277EC87D5F86892062EC736FE079FB464A9A46416F2C0E28384729609D1286DF4EA99E29190A +CB4280D8C7153CA002B51C6D4E5F2D535767C9471748071666B727C06F1B99372B5C2FCCB051792A +F92B84012920F318C564685D4247D16BDCAACF77E45D2AAC29D7E9894D231D688BF775E671AD1D40 +58AC62BB2FD4E2A14B54140592D2D8716CFDFE60A1A691189721EB6D66CE90D66F70488BE544F3E7 +93468FB9F16DA20166748634168F9C19A5D9CEE2D3A1130E333565433CC10BB16177A543DE555534 +E315DCB959F8DA7B0C1CBBAC1651C9854F40B08E5320A6281CE4E9C11BF71BD3708F7B59F3223D85 +A1EB681ABEC649AE1AD9A5586E4703A874BDA1AD03DC4772441870EB5C06E214173936C952569360 +D93A26BD00C57ECEB40DB2F9D9330BB4EC38E36AA9A7D9D704402748BAB30413B5A261D42541141B +EF885A97215622E866D1B54E7FF39B2484B8EBB96B750561D4895A17DFD0D4D9E5037326CC9ABA63 +5AFBAB5970EBB86235DA7D97D3BDEDA4EEF8BD4C39A20F6B68812B9BAA75DA49F4011C5206475C82 +5999BA9AAEEFCE5993E17674DC1499F87FBE4C191C5FE2C645518154E27339409F81F982DCE95C2C +35FE1AD1ED5492B6CBD619C0EC5172C3AF4C3315FC475C877232B518018595F084CB8BD753C0118A +CB1C1B0D4192F2FC27C45FEDC96E5CCA617A7F21FB34399599BC999FF3D1426FAB7A2E4F0ECC6332 +DC796055A9DF7A5BB9ECED951B86C7AE27392A3EBD62C8D57D8DF93A39800D4A54A1C0FF905C1D3C +123E68109B182042040C724F48484F83EC782BF81C3B863ACEB55B77EFABF7FC192FA71C365A665B +E0F6C5C6EF9F445ABAA639350DE8706EC8ECEAF76837C925B9D0685EB00B095D03C5BB349D90B649 +5E64B045E820FFCBBCA709AC897042EBFFFFBFDC771808CA8F60230C425D2714E2E0E4F309F5AFFA +583EED2B322368144D24D41EB4FEB5F66AA8A058488D663BC5D533EC87A03CB87512CA5D786D719D +1BEF6526AAB85AE7D205DC715E29C4131B673630F8156CBE6E451819131A3A4E31DB3B44CD723E37 +C9E1D97D8BBA76FD9B6DBA0580395C1CBE9817E8C8174C9ED2CA50CAAAAF311D174F99A137388649 +FD777F8A98FE14D566EEF1AC79B97BC88CD77F2C77C69E5A25A6645BC3F1C218ECBA37CA271BD10D +A18BA959B92D2481948EE6CDD36EDF231DD0C8C2E10FA573F2D6D8D139ABEDA2E5F059590F484BDA +8C5ABABF42AD3502F532F5C282556FD599C07882F596DD4653F10324205E20C6D1455221A6BB7C88 +AE260A1A9EC3BF81D1DF342F2BD4AD2FB67CF269791168072075B23FBAFCB9C1587D1F82D049A62E +EAF0B24777FD7DC2303D1C45C6027C12831CF23648B77CB3820A3BA7A1FB2A6949A02C4E3118683A +4949AE91E7464F1519F3F78110C96E03AA76A3A4C06710BC65D64A63822251086AA8FFD7B821DE55 +5B6D427A5FF076789447489FD62D6B2226B3FD682A99577E6AD12EF21B2E41F2A99E250145339DC4 +CA143DFF9DD87737140F9DA77BDA7F8D1318687F34D0840EE4D998BAA650ADCD59CC78CCB6BF07EA +DAFBB7590F47C03900199C844D56D8D3840792065DEDBA46DB0E230CD3D2E5D6D20498FBDE41B325 +39E7E330164BF97EB0D44DA1E1284A48F84A288944A535152DB6BB7E0031C7EE8ABEC6827597FF9E +8E2A33DF19ACA634D3207C13A1A0CC6507FA4C501A8894DDCD932170FC9FE4D1FCC0B5CB861B9136 +0265F157D1788855F92847E2540E429762E91B1F5FD4D9B581BB02831284FFC998D19AC35D78D562 +6E1494893C9667F9554EB6AC9FF87A48B34C12E9ADFD45E45A6A5FC19CAA36092995B8CA2D397B76 +54CB05C46E88E9457430B444095A1EFFEBA29CBA3E54CA7D2224C2081C1973E9166E5DF4AD5D5040 +4A85A793EE98 +C910093579C057C1E92DB3AEA90DDC561758CEA81C536563E240CA311947F0D48748807FEFB8C305 +764A0457624CF249F3DF060336747F85DB8D653E0D0B07EB6A48C59641C8CD41A05FD3305D2AFC98 +6B0A666CEB9EDD51167CA5246774FB500BDA72EBCFF2832988ABF5B5C3DC10D40186A7953DA79B49 +34D0A808CA0323106C6BDD7C61883E56C47972D82EC47C90FD2BB1C155658EDB5FBFAE0ACF64BD61 +E1FDD13B7FCDDB5E4BC54B275E55C894BF780926DE0B0A6382FF9D6B0C2B1D11E8E415581B3FB57F +E03936AAE9D3FE76AD9A0CAFCB8F2C8F316F3422F0BDDD4FDE74E30C7DB6F8688CBB543A9668044A +F16DE4CC93165D540FABAB299017E69E25112D26FC2C7795E8CAAD2659CB1EAEC6585E084B821C94 +96636CF776739AE40E4D62472B9A4DE7BC790E402446D24888F2F0A4B286568F347811552083A04C +DFB89583E037E1E9E7D8B649E9A4D87679DAD9747A3D2F571934F102E82ACA725F89282F58407030 +D8A0AEA215FB543C0AB9A3250B1507C525D4DCA61995E3F2B56337DEEA95B97A21430F1622ED5BB4 +38642E42FB24E27E51D03964DB407ADC509AA0C4344C0106EB37415182F40F554689918A06A3EC05 +944DAB583B494FA2D5A494792DC88E52109F335BCDC8D9241802B72CCB886C73FB1C453222CA19AC +DEA58E0DF7196D4DFE98588511979D5EB550FA879014528C23A37BE4498BD0071E225C9E5C4496C5 +20E94A663769B9C274AAE42708354D0EA71E247DB52314D3A00BEC40DBAE8F16946B2A99FC3DBAB7 +CD0EDCB8A23435770721CE391E4A09CA195445145AD0F12109401FB48767451CC9BC843C07549A76 +840DE28BDFCF6683BBF17F0C759F86EEFFAD4B25FCB5A1978A53FC53B4CF0C08878612454E8A4D41 +9B91F611300A7ABD9FBBB5D785BC0A9EDFFFBB0B49FFFD774698EFCBCBB62239617AFB03B84B015B +0EE97D1B234B2DC1D13C4EFB645980360A726977332CCC6DA4A87A87D6E390E3D0B90EBCE7C7E5DD +85CD1A971B79A38085A67144C0F7BF5E45143D0F92F4313D144EBB5B834EEF964FABFCBAD9436971 +7C3A374BDDF89FC6DCF63F24A8E8E94379A2D2DB9803EDE038782AAAB9D1D4EC96F21640C611A043 +DCABA8656709B841DA5F38D25D7D9190850B15BBA561DF8C8D47424196C9FECAE064C02FF9CFCFE7 +551318A7B9DE03B350D208B443ADCEAA7C8808AD887D664C813DC736231090DDB20081D543DE0CAC +3989B860AA236CE1C0147543565DE715EFCCE0F98DB5A10C987FCB596675DF88810DFD7142E3B3E1 +2E194490A4C13C0A22849192B9466EDCF62F9D58797F43F26CD61A89002953AD78B986088C76102E +ECCA204814EFE06E96DA174EB8D0D7C475E07BE57B1B028FA45490A6B6D9CDB8F8BD13F79C7A00AE +B61FA9A3491A8D90D0970DAF9D7BA04B8B904E6DF0DCA7EF4768D344E7CE7B1112CB1EED146FF6E5 +029346140EFA07BF01C6F16B7DA4AA7793268BDFFFF3A70FF40201BD16AFEE679DDB959005B524BE +14B753298B26E9B99F77305B3AAA51FB63F35CED02837B6E014EA54EC1F6FE634F33A264D2C0F856 +F9810F647398EE737839CB495EF332DB42B06E807AF471B75BFE22DB946867F4D5E589C9D9020BF6 +2E32C76F2A1725A6BC8ACEA1F3CB706F0C0715CAD9C0F316EFE6EA1838C449337B4783DBA1C27B24 +A00E89CF435B1D74874DB9514CB5095F0CD5079DFA0FBDF0CCF08C11904FA4650A8AD72BE27C5F2E +1B241F7F4CD474C3ADE6014743821E03F96D365CC46545177D6B1C7CE49FF009CAE2B76984DE0940 +2DAB11C95D9FE24C534C90E558D732D376280312AA0240D80DEBA60E7AA4E149601FE08E39F85505 +460CE130E964211E08C793EED166CD521B697924445336EBEB4F995A09CE3139C29D75032885B449 +A5870E37C96A7307ADD8673D02A8C3E33BC96289BE235E25DA3D226AF406D34160D65C1618B7E986 +FBE0BDBEED483B215639E0A078B7CE061A8492AA72B4905F7B515247F9B51B520A8EF91869A13F97 +843B1721C62508B9A5B1163280F2B2CA64B6CF0CD574C0BD1659CE6D914C53BC184C2882FDE2FF36 +5631EB89EF3546FB70C44E6A32B97852A786A46AF36BD15316D42AFB08EAB5AD677F749127FC2ED1 +CCDEE4619834FEBBD1E3949B72A213398B38A8838B8D350508EF6D2756793C1BDF7480174C61404A +ECDCAE9CC22FDA7020A46B09B6BF8E81FB52D2831E44B964E0B4AC1FFD7F8B86667E0709CDB0EAEE +DFB5D74B466A9A9E53E0A159AD28D45437CE47276AD6E65064438C0099ED900DCD462A9E39DD2BC1 +3E86BD2A1A78FCE233A82D94AD347D3C84D63C599032B6CC62D764E2A495763463DC2953A40FB273 +70C2D553D86B9A651596361B1A766262D2BAE5FCFC3FA3B110F63938E1E3543579B6F0EB3E91D62A +8F8B94C34BD6766B20186C4ED33D75357FB099C471A20CE246F83A04495D41AF62E15B6A062A695D +135535C75A22E9A5ED22CDF15EC03483775FDEA1C6A6F6C0507F0E951B76D66B8B7E6346AB1C2D80 +1B2FC0FE8D4359E9EC40149DAEC46020033FC57BF0EB8AFD1AF17406234B7552ACBA617F41C0603F +3C00E900A7DEAD963791608C133FC736C68A5440089410E72778FABB8D70947004F047AE9D1B8EEF +FF5DB759E50643F362EB36BAE48898FD6A332946592B59F81EDED5AC5A10DE2BB839951E78D6EC48 +95627F005936511F6D69A5B8F47FDE77D754C81B971FB584E12340957B082AFF7A3A26AD812DDFFC +78FBC916D6697E53A437A2CDB79071E764B4D6DEE98E16F900C550515F7B996EB20DBFC79C21CA36 +ECD6A1C35518127A010127F002BAE02D6163FE7FB779DD4EA04B7E36C55183B1B2E3654513EB9655 +D44A5F5F8934 +D93528D7A3089F75ADA2307F1C4E0B595CD17E7D4E7FE733CB59918D3C16E69883362F890C6243DA +8F2278C2B3333545714359E1EBDFA9E2901322D1F2C58B3961C62A94DADD11195BDA0F196CBB5F2B +864BD258DA011FFF3D8572C8C4714C2873225FD824225337DD8EC33AB2172EF68851BBF1CB3E5D26 +ACE90B7BC33155D5759FB5D973EE4EEB70C0A1DA88CD0F742BA0A7F2C8164738B0BC0E0BA1291225 +2A81F0A0A2C776A13008476C9A4861DDA8CF5C7002688FC460FF2CC88C35A8F8562548A9D4F7A10F +5C8FC6CB3675900E9314CF58E64C2C122F9A948F50A231D732A07E46DA7E90F84969A0C7DC0DD134 +E114E59260471BAD1856477084B1BBEFD7E56C3C4ABB6F15BD9E212CD2D211730F00ED01DC75D668 +3F0FEB6396203D8E660CD1016603C1D3A969CA1857BFB86213098D47ADAB30F731726695E900B6C1 +D911A5FB2AD3AE0DBFDCE1998821EA6F1892BF5E2331B8CAE13EE00CC748FBBE60769C96DC633BED +F7EB5CCF0C1736DC7430CB84B9B9EEA526EBEF69BF03491332D2F6FEEC4B60B59630829A24C8D915 +8C9DCA60D1BF06EB7F0E2C6D3007C1471F59C8EC0FE8E9D96138B35E68D86F009D8613FA66137D54 +AE604BDC56643751F9B2B826CFA7F36FAD190CB950D0E91ED2B67609F1A59B280C2BD22C22574F9F +15D94DB8DDF47051F4D84981398F72BC4B85959FD8AD4A306F9DD8B526704EBCD40F97CE2D3FD936 +3EB860D177181B7C0A02111FF320EBF19BD5726A740CF9632AC0FDDBB69CED84CDD1114CBD403C0C +FC1CBDC2BB93FD745A482A0F5FBD76BC0CF97BDC506897B9B3AA04D8B9E382FDCD5C2ABD04C82F22 +5DF37B3CAC4A24B84D96EA0C032522462C635C6E3D91237CADB1617C6173C0A9F2841634537C104A +AF62C181167D68F79B39ED32F49EC49CEBF3DC02FC48F99A3FA5E0E31E3FD4EB9F89C6643AC63969 +D4DDC01FBA6E8C1B3498BE48291CB61F1C5EF2CEEA784140CB15B587A1B4927BFBBBD402D1B7B8CF +4857A192F246C5E8D0A321809CA7CA3345074E47393EB373703C7C07109FE800B1BF46A4B15E54D6 +DA18370FBF9D24311BC02E9A28C8ECA365F956CBBFB415BF6D0D000FB339115493C6784539E86262 +4AA8271A945E824D2FD15C4C0C7234E17F0CC2CA32200E0F0541F1E48A71BAA400526A8613508BC0 +D19B3A25565073328596DF50D6013416E356F13637B868EC78FDF70435D1F13DB0CDC6093BC44AE5 +422E1D0B7648E1C381FAFFF0AF6D75CA7F8ADA5F0CF7F83655CA8B8F3ECFFB8D570027E739174E7F +CBFAD11510C1BF370E76E16B838552A149037C2123B3FC628A00A54D71B86C3109AFAC6DF39EEFDA +0B3B711C07174BBB44D7D26825C2A08BE2F720262A420310A153EB711DC53225280E451D92354880 +884209077EE7A13726C0E14B7572199FA302572EECC0C041D7FAF0B37B97BBDE909E63BB65C5690D +D7D2FD2EE6041C046261F75FDA09A516B860D0038F6DAAC43D91181D6D174F7355711991F378C3DB +0B8E3D5FB87DB1DF2B9783BB772132F5BA5C9C36E89620A45B6B76FC64938C2DB6B164D92AE90FB0 +9CC1E347994E521A61D6A0273AAD09374D088D8C697116352963C3305EAF65FACAEEDD111C442A7C +F71AC0849197E9F28533D097C4986E98E3F8B3F274C7FD3813468B9536D74450E75683115D0FA49E +BAD830E5BD5CF2D02B85465869E4E6250D896171D6E5ED76A4EBA25976D132E25A7D60CC8A0CF943 +B52E70A1772574F2541CC474691C8FFC09362F20F481B458744DD1B14C03224D62D46DB1D5F84D12 +D44C9A224CB97BE74C6F62668E644832D13A73C5D9D255A0F1496D99ADF34DCCAE7E756F1366AD54 +FD6CE1454CFF3F94DDE7694F43820216DC161ED36A5A19EB4B31B592162D2C07BC08690DE8AE8711 +C00B0C1C01C6F9787FE6C7DE850188B028A9DB84D10B4F642B626C62849BB70C7EA66940C54D4716 +3F255360DC3EB7CE96140933B2DE99DD2C1FFC11D54F367D3155C6DCC52AD882BD3A384388985DA1 +FD8B263DB066C9508A81BB4E3ED3686419F4EA2192589C7EBE42F3E11BC1E800502E9027C943DEDD +666E325F04A94B6D2A84D116805B15434A019A0956F7A5E013B89C7D1FEF83F42CC139BACB5C3720 +CF5BD35A9E8502C4650F87848033C42CB54127CA302C6B8D68395C3E71D6C3CAC0146AE2C9D0025E +AB79CE0484B659850950371512F0AF2B25FB772F5424569504FE2184F55D034B6BE7E726598B0F9E +10A9CDBD26B94B5EDB688DBFC1695D5019CA34C7B8B965C73BE7A22843B9DF38107D6733594DCBAE +1195592A2DBF8AF45A0DD4EBAEF1A99ED58C8EC96882FD6C159B6AC28AEE8B8FBB54F08EC9227661 +1EF952C1FA650A6AA2E542E4593527BB2CB95608D5A504ACC0485E7F34113B511F96DF2B76946F71 +FF52B4D843FA2F16F65404181A67B6793C97C1DE55B85A044720DB2BD081F1DDF2D5BCF2B4BC2977 +59813AE0332291ADAAC11103C1457EC0E817EE83CF1AB8A4B963554122401C1117A06233E0853893 +CF6923E85E90EA231067522685DFD13A979A69B91DFA45C00224CD43702C47EFA4A9CD9B2243E7F6 +0A36410DB0869AF2B07382F98DA25996E84790FEC5EB96ED5EDD71D3B1990D1BDA06346210B50F14 +53D13E1D20E735860014BD739DA306E234CE2E751D9D1BE1184F8F485B60F480DF3CD91A8D386051 +B4190B5BAFEED95384C3376D191C160E145BF2496D6C826424010CA9C6015B06DE17A1B2A776360C +754BBEB880FA5184176A4B545A0719608C49ACF78AD72052D57FB37598C727B05ECC494772B37C3B +D5AFF02D028AC7BB208C724AD0A8449EFB78CDE275E21CB421499699BBAA32DCA143B2F1908136A7 +45A6D4BD1626 +EE8B8894B08481D34AAF68600F85CC0EC177156B2614B869652AC4B17AABE50F65755D94DECC6ED6 +B897E5296660E3C0EC916107636B10995D6FE8EC6219758FF0516743FEF49EDAA54133505884CCBA +D0B6C0A13284D79C60115682950F355B4175A1999F39808C173E08BCCC2D8207BB44A1CBE1484EE7 +AEB64E546B2714A1F8F6770077B8EB0D8550E5F5834EF78F58C587DBDEDD0436F80989EE94FCB35E +3EE0C3DB6A8A0128C5AE241CDA1BD7EB659A0D500D36B59267E96F05CFB6BE50987814DD667EBCF5 +DD4F37A0CBFDAC1BA9A12286A9E1BC41CB947DFB123C6AC1A00B8421DFE13291FBE0E2ED83458797 +BC53D8E03EFDB4A4585876A5FE591BA6FACDA0D68A170EA2D6EA105338FA52A7ED3439B6FEBD8F6E +99E812A3A63BB68D91BD5C8C195EC0E14CB9E2EA64C32F82895ABBF53EAA073B69D2D39F7C1C658D +17A7CF45AAAD20E83DB380ABB86081877E400B8A9C632D5C8A25771503123601E829CCE58369DA20 +D741B918F835922C9C1914E1DC0FA0188AA0ABD9E44734B7347E3B0179A89F63EA1A8145C4636973 +96C4602C24A5B3C1F6F3AA99F3F6CD404D982A33ACC54A3717909315227C421DCE216281F34CDA4D +250C4E84A052C34A7145F1774DCBA4F4B9885AD6403237015B9967E4E4A9287A7E8A3C63E96AAAC3 +E51141435D54BF7B119BDE4692ECDC7BE0726E9CD6696D2C4808D25C234A82F60320FC4EAEFC7ABF +373352C40426CFC3032556839693ABE2A325B127E1B89F5C049A56D4A862FDEB7374623B707E8F11 +8619C6AC3AA3B84166434207F479B9759024385C6BA048F2DE151407D03A4790F2F389E31DD5EFC3 +4B8E6AC155413EB7D04C2DEFC5382FA27FFBD5F5DE63BE3CBAB7F4F4BC2E10AD87B710D5A443A5FD +A57EA24381A4418A906DA722189C61DEDB8E9BB54DB31F403150153FB509F083C2EF25F436579B2A +EB3766042CF0C3D183A65106990483B55945D5C3F1DEABDDE7A20C454B06D07AF087230703636DAF +37CF9E1D4B16B07FD9A333C09AA80547C89B902B74E1864F49A218964B52A30A3BAC94F793659525 +9DA7C8020D2584867A28B93902A8D7E7BA73E8DD0ABE1FEFF7E3463DEF4A9E774290615513AD1363 +21B8928DDB49FAB2CFB10B374900ABE837FE8008D4B3CD9A3BA769370BCD14ECB23B8772682401CB +F93CBEAD9BEF330A8D699BD1905F11649CAADF8F8865709187517F766D4200FCFF85CB537AD9A8D1 +059E1E1B0714779C91FCB2AE350504DC2B58D2C45BEAE8E2245C39AC98281290631BAB822AED8BAF +88F579948BCF25479B81335A239F45770041B08DBF7F47B8C76C36295EAD6D2E11BA4C41D9BDB6DA +FED2C79C8C1D34942059A5CB5B74BF5F40FECB976776AFAC6AF9ADD857E20DFD1A0524A64A964676 +15DD99A2ECE5A5BA96A16611C8DC71672967894F680ED3870A1BEB2BB7D062AE32E5D0D4A73CCE9C +CC144BD7453EA9A3CC473D4CC8184DD5E2DBD8A6C9E3A8E71682B51F5B208D41BDBF0173D6E21FA9 +3DB56F34A265373AEAB6925E060CCA996889A0B44C6597C498C087D17363284855E76AE3D74CAEA0 +381A1188805EB1BF702639BC1A7A4C8CD5B972015AD994C2B31CC6F51C15FC7B459C1D786A5849E0 +2EDB4549104541DCD999D953DB619E4381D73AA7339835BA2A685E7324D24863C5492E5B75ECC948 +AC7E604C6013D7181F54D68BE9CB8409EA0EFD5B103563171A9CE2875E061B3656F4D6FB3B772C14 +3F0365B9817B90D05934109AE6E6C06B813D82E5EB5693E53389D79DAF7F854B9C5B0C802B6B05DE +D1A8581D649BE7266C70E0E6081D5AE943E5CF81753A295F007FF8CA1DA8F2DB6123C8520C2B49D9 +26084DD39A72F682C24A97C8E4B407E5738377689C7F4C018BDD1985C4D84173C5CAFFB9B96D2AB7 +F8560329F03106E7067B1BEFCC92FDF04DE3999596BF226BBCF7D37F3EA673F2FDB7BD330F1C5583 +6A03C16F1337981A8A82C70DB9516FB02B978000AABB4D82D8547524A1D98C90ECA40A56561A693B +F2549DD0B6903D0CF289A85CECA4EC09FEB84AD6BC39B86FA8C1750A38176F3CDC91A2A4756EF64E +CA3CC3D5ED951C0185D2894FFA9B1DE9773977CA20F4180C5A25E0EF5CB6DAF31F830E46DE4F5D90 +543CC65F385D2A937F10636C342B8E7A7E04B020B1CDB874D1A595E95EF11275F8070C8D96EB2708 +A8EBAE7A794B8C2DEE348FFD3CBEE8DBDC78AF6A31DA0E00371C9799F39D59C7FCE2995BB94FACFD +9D64E09A5903DAE5A4105D43F5352DAAA273B0E878B60CA3A3F74E14C9B295CD9407946B77C55ED0 +1005A99CB78537C7E572718A5ED50CCED60171BDE579EACFD0FF2E55983101828FE6EBA9A2475718 +904CA2D25C70F1E3A4EC50E03F6C66552337E4971D2211EAC0332BDAF91E7386F385A5E2FFD89D9A +F1D7B46A8D23301F84560500100DA507D9359210883E4C54B8DECDE7543FF71E4B9729E59A1499DE +4C4D470C680E4615C1FFAB98EB6C0D1A57BF32CA48C1BEF51992B20ECA06A7634CED0142A25D06E5 +801CD1760E139252342208B8407B74BDBC2BA1B5AC20DBB3BE43C38D7617320D199F507FEC78F98C +83720AD8D2B132630A443A9BC9D5956EF9F538DC91D44731299575222A542EA652D2969D7C458D21 +DD6D2165FD505A3B2731C7721EEFC4FCF1E1674E820F6CF0DD8144054BD8513AEDA317070DA73A32 +D9CDFB71AE29E7FAEF85F11F360079AB3058CF450F077BDE424978FB6774D81C2FF1333E69E1939D +C201996001AE6536B88D1599A07F4434A20857F828DA87AA444985CFDDDB8C73B21F8F74FAD58B12 +2A6BD3E974CCB73829483B820AA61A609168C79FA361A85AC1A27E448372051D1B86A77AE8C71865 +D18F8E85E432 +1B3BF26052BF7D51C016A1276878EE13CF9CEC22ABF2F909CE6C13039F70401363F3A5887AAA3CE1 +162494ED28D52328DDA5DFE6A408A118B2CEFCCB2AC9A674A29E74D32FD42C2F9C654F3D732E8EAD +E2D2DEC6D7F2D993A427CAA2FA5A5111FFC70D1D1DE48EC75777B1BBDB107D5BF47195DE830A7C71 +3426C73E9FF5591C7E2428D235B59027054364277DF2D127424B20DE7DB9D16CED52B6848ABDFA84 +EB2FA4D0E10DBEBDCBD2655B9BDB49EBCB757D03BDAFF608057B86BF9CE95E9C152C8D0A7239AE99 +B5BA5D2D23FF66AEF433AD4E05AF60C86E37F6B7C0BC1F4837A00B8B4AF7E6B9953E78607BF70FF0 +9BB0B62C628B3E9E996F30944AF4134472DC18AB07BA2F73D64C0F1367D0021FC51FB3A5D1F494CF +E26999F3F69E9E2514B36846E6BD89CE95FE5B9C2E6AB53536485379A0716AEF2C597607C708AC81 +CAC19EBDEC450E5B325BA8A822F7656B07628BE642753593F2B6373BD243522C270E4923A79CA09A +4669300561610231E0CDDC5F2ECDBF550E024CB79A8A96F1A24228C9357B2B2C66E6D00BE4C10EBF +C5C03321CF278572EC016AD9D0B7AFB55AAFDD6024285BB6A076670C971978F58284738782027EBE +C306D7CE5CF5F90C43060DAAA79CCDF76CB75788EB8192ECE191D1BD713EF778224326ED44C38494 +ECECC985971BC55A697BF4EC2D8D2077616F31DA87F0472B08F643EE9C27242862E93107487269E0 +82F3D7CA5E65E3CAEE5C6AD5F828A7E27A772B1FA48DE356A83206037F69846665ACCD010C3274F6 +4A0192DC5214FE2A2DFD4F07A68A66CD53D395624869D3FCD98A6A40F4FE891D1757A90A4533DCA5 +6C952525ACD242D5E29E53A97A073B062E0681E704CD956B13FD15654AF29518B38A78F660EC3CB4 +AB05EE57B0D21ECCBD7A45EAEF730819AF75ADB5E9C887D5F5E6E4426F5BC06A2FCB1779C022A9EB +DA8A0B2381387EEA3A22D0EB50EFD6B6E50A9DFD7D8703B1EBEF9DA72FE7B508B940EBC48B1946BF +07B06EAC704C71AF9918227762CE7B4806E86FF067B1658AA80D25A1577850F34FBCEC47E7824FCF +86CEEE01495982722FF460246EA070A0F7A17EE63C25CE2808EBA6E0BD2A8406C71222D33A701F84 +80422B63A5B43D32AD6AD670A197A1DFF310F07EAB52451187B1882D80E867E325CDC3D68616072D +60F1821E1D68D8C3BDF1F32D0820BD3EFFCA8E729088049E3A342F2BF4C3D93B2D158E73C0846E9E +3AC3EAFE18C9809A205BD9E92B85D0842A8F52FFA22008C07214EE99DA0272BF67DF89E4309B48DA +B6F9E75C67F56266C2738EF459DC54113926A098166018B8D6D2EDCF19E9BE6924B8F4380B740721 +CBFFDAA3886396CC5B644F6C3DC0DEE9619275C17F9EF9B8A755BA0FC6126D7F4E66980E3C2A01EA +6D07BC9BBA53FE6932C02E50ED130BAF50FAE9022BC98DE70F481A4EA2B13792E3F37EBAAF278898 +A953B0A69971A6C19AFCB2665B5105BCF6F52BAD50EAF8F30D7EA681C20F6CEFA45B07C30323A7AC +C1132C07C7257D41CCA19E6B8B3424C0539DE7F31822ADDBC888F9DAACE0B3CFAC13492DFE3E057C +26DACC1D6A834C7E38EAC8F895BF87246B66F0088D3890673FA135A761CF7A3746336B5E835DD456 +6FCDB5D554D88D27831269D43B3E9AD1AA0911E08D08A00583AEFE6E015357C9593DA69042841382 +7ED0A36783AA7F8C307235E6DB581F925E660ECE8E54CB7FD0DDCBD8007F8A5F5446FC1229C22F4D +971F25B2315AC3FD5A36188E91B2FDEF9E95FC8C4E82C8FF8054AA4E3CCC264D0AC9239B3CD0E43E +C0FA83B63D7577440D9FDFA85F1F0F146C782B73FD95445954A2F6C73CAB4C535BE3370ECA565598 +17CF658FC79761FA0FF41F317B65B2C3C4DCA7778BFA83321E13819CF6A7327D3107EE2C6CA9D7EF +FD724C8591468D3E36505CFFAFE84B81E0829FFF5295E80B071CC5415E1EAA2BF45E94393F78D8D5 +304B4F10F84E548646F9DDA77AB19D4B6FB501D9A03E1E5A46F73BA7264AE1EB3ADB6A5BA889285D +41E7A550A0C9C36A367E8D35ED22D1F94BE7CF65851E85FBF47A4A998E7B5EA00C63169EE0BB3932 +6C196906ABC2C915B6FB1C25C5F3589D45778C9BFCC878B8AE304BB3FECD0D9538B75149342FE016 +702D27757402E833D6ED84AC067EB789419025AC0959E9245C0FD0DFC537F19F3ED2DF8F6F5718AF +0A58AD8195D755DB83EDCC2EDBB7C490E76AA5BF5EB9D040C09BA1E6A4A1ABECD0860CCAA34020BF +516A31E9EFDFEE43E4443D0CD3268B31A10794CE31A83AD5A0DB63EDDCD6C5FE63057AF30ACF783C +890E44D076E5E5097EA508C20D8800D2D62B0B8D6A55B914C5087BCDE3DE10151BA50AC8D35AD371 +0D4CBD33CC708552B458029AABB73EBF35977E245A78CC1A2776B6F613498910AFDD40C5167B9145 +DD05AF358A6A629394A05275E5AA90EB46D12AAFC755881C9376B9FD4AA094C1478AFA47B4043397 +B84A96047828BB70125FA139B083316FDD0FAC122ECFC3931CCDE46FFE5003C10934A2ABABACB007 +46A075F4769B37A81F988A6DFAF89A67E6D6E05D59E806B7B4A34F739B6095649358FA0192E14D74 +7913F8A8224D0B6F4ED263FC4A39385CC0861385FEB917A6D9A2AB9AA20EEEB649F3F9F2542A3D17 +A78201844CE10622E84BF55FCF9C95B45C4D6FAA85C82BD1AEE96B71CF85E2E9CCDFDBED832BEACA +5C23A695B45F5B9309D697E6A15A1DE93C4CB7E64EF931BD2202E298BE66B2CF13F060399014C8B8 +24A6C15093457F0B09BB017273DF09E0BC03916E216D6FDCA0C1D29DF10445FC77C5A8928066F54D +C759F30D183895C139BB0F0D0D1D27025811DCB9071332AD30F7DA22A0ED19B582C1F0286EA59FAE +A4D7BF24D285 +E9D6D373B0926222AD21354427340AC0BE5D9C8CAD6683E4319589E08161652815ABFD9F33CDA21B +2E49E3D9F64D9C4ACAEEAFC3E82634D5FC5F6F9E542200F828A59F9D05C4639AD40B854ED35D6240 +ADC8F7B13C00FCF97DF7E996AA58507A6A45CCDCB12DE4FD3CAA301C3A8922752EA7E0CA2480DAFD +FAD6A00C324C6C7629BFF33C16009ED36D5BF4DD6F5E0EF5BD8BE7D86D8CB9AE143572154DC947B3 +6E97B390F4D36AB3E59460BAF92E65EDCA25B245F7495F1A152960C64E82F74E2FEC3B7DAB85F414 +A215B407C165D122290037CE4D65AAD77C8D728B9249EFBEF436C7B0C571138E6098F4256C42E9F1 +3A007764E70399205DAB8FED4CE9505D39EACCDDF91ACE7ACA1F4F783FF22AC001FA678F064B1D9F +EDF3BF4E92B83A223025E58E52CFD3DE0737B4A7E6344A0F2DB166794CD99D2C14056E18A03FEEC5 +5C31F6ED9864ECFE74C69835A319148BFCAE786E8F7F16A563192B6E64DCCF23EED5133C51331F85 +59C9F925FB096541CB73C64F1903ECF2343F49EC841AE070571CD93C5E09FFD086348F9CC0A8F08E +5ED8F130570AB1F47F84A2B094C4777D950DF125AF72013BE79449CEF6CEA1B8117E5114C8DFDB96 +6427FBEC34649E433CBA343973FBB9948B9418C8BE72A38787A946FB22ED3D187881A90A431A1B79 +B7ADE91643719B8E738C6F09D29D447D42EAE70DBFD39D16F805A9AD251FC505682BB26E683AACDD +935FA35985D06CD241579199ADEA3F9848449393D11BFAB71AF3B5DF4EAAE47673A83EAA501B150A +76C23DB76F40189006E51EEFBD53D8605DF171AFBF93A630258EB253ACFF6DAD61059BF0660760F3 +D005F3E3EED1A35B0B0625B9672E3379BF1CF9903BB61E64F41F38A156CA6D2BCB194BE010DAC373 +5E943C434A1C600FA28757BA86F15178563FDDD0031181DF997FAA95CBD9056EC7A486EF110E640E +F78557B99CA83BC9B3F416493C506E7F381F36B6C682AD432BD443C8FA7BB928797A8DD688A7CB8D +CF8F4E8A9733184161C117E0E377CE49B75C602DD0CB0C3E6F1A9864D139B3A57FECB0F144C40FB8 +7ED70DC2BD81590E135F212A197715E178ADA8253472D779FE5EBE3C809EEACE2FA7474DC3270005 +7A8CA12EE3CD59AE25FDBDFE1EED60A9032FD649EE81B9AD52BCD0D0186FA80FA24A7C94731B1A00 +19549824066105219EE8CD1951F0939E841FC1423AD9C323BBD99E6EA9111D4999B1649836232D84 +86C17487CF4EBF022831694F61473D9F9E348241916D3DFF23F2B4B0F909AB8C87266068E4066202 +07B7424B1B7F820C3863C951DBEB17B78333FBFCF56A7EE1A27D54023C7141229D33B81DD463A037 +975B4D5F3088C71151AD7736D21A4200D38631F61C20D76B20309508199FA6766AA425C7644C4344 +D333D9C21B993E2D03E9E70E5E5ECBE7700447E6F8BC46AD9CFC26E50E5A31B757643FAC36571DAB +BF92DB8672C0E63CBCC900B0E00FAF589ACDDC9640D74117B082CC79279E9E8E963DB22135CF8877 +90683CCDC146BF7EF76C27F9A2B2D3441276CD88EC877830E15D2C05C7DA100AB003D55AA90096F5 +276B207919F65EC6C7229DAA602E5AF84D9B5846B72B8130C824B50E633BCBE7EE4253D7D4A9358D +87B546E6E188E3CAC88E848621C034DAD9C195B27F9E3A62F05B827ABDCB29484B578B57DC9374E2 +CEBD7C9A1A70E1CA73BD7CAC269C99E9CEA17C3A54E583D57D4A22588FFB625F3171F7A2C1386D21 +C7CD6C3AD71A1E49E4DCF5D572627D0248130F80CCC44D8B6C2ECD4C865D1BE007227E870ED4A273 +937802A0CD0954A42D395F9C12778D4261BF5D5A38C83549A9AEDE0FBE71E7FDD40EA1289014BB60 +128CFE3A6DCFB29FC4F03884D52CDADB7BEFF5B35F3A52C670F72047AED6001F169CDB9AB1C26BFF +D4D9B82BFE12527E9FBC7836495228510A0FF2107017DBB55FD95DE4837B7EBC3940CDE31FBB6556 +1D5EBE84C347F086AA53FC6331825F1372C73DE70132CBCD575E714199960D3C389890E1E575B5EA +B2406F47FEB1183EC01BF152ED273015BD27021E1EB59073D2507F050CE216C013DD9488DB3CBDA4 +7427B94955E16B6530B9140E5EF85B01AD4BA75C5AD1CE57DB3BDEE9AA81355B343022E0A3EC35CF +2559CA6710DC2B9C5C564B961D3D5339FD2804395ED3B6587547B9C5F49C4D2C86EEDF585D54BBF8 +572DA8D40C181A99784EFFF1A3854F5D27A0E223CDB0E98D396889A38CFD2768751AF1D2E6D49CA2 +2929839B09B8056C5BB51E299DE450349B99F13ADD3BB78DBF89B0F1D86C649377BE3E37C0183425 +316A0A0AFA6E06A035A1F5C3652538926B9BA43F95C43390497D2C2B6832CA4BA385DEDC99430F07 +00EE39F787058FCB233123281ECCF73F947E3E862ACF263EF237792C6E721D1550A313D75F0ED693 +0ADDD281316991A17A5292BE04F3C062D37BFE6CEFAE1C9981088FDE1CB7635EF7784DBE7F0DAAB1 +75F1D53FFE1D2CC622AC60A398E15E2FCD2D086501BDA16BA3793D3F5B61F7AD64DAE9466DD2CEE8 +C6EBCF742420D8A4976193E45FE17DA438BDC7237FC3078159440859A18D787C3B3DA5F2C9BF99B4 +2531E00BD67F597E9DD44E5DA53252C6B865C056503E5431FF53A1523CA429B86F114CC9A7EE2ED2 +1516D8E744364B8143720135D1C099C4CEA23DC27C181E5CABF579FC91108E124AE2D8C5AF3636CE +6C4A68FCE8222E96D80DF4ABD7AC949D0D227CA8E25103AD0F3363F20332D553E83598FA794E0EBF +EE58DA31EF94F17024C7422A532095CCC8786F832FABD926409BE452A32351AA623643E407BB677F +11737695E1C4944BA2547075255E10523A7748795039B213462652673C981B69E0675894D9BCA0E7 +F9CFFA2FC594 +9D46BB5E15F4DF7CD66E5F6FCF48C69E0729520C8D9121BF81BB6BD0FBFDCB28A05CD7AC319B872D +FAF2F3A8597177C2C0620DCA4259430ABA4348D196284E48F37EA9D658A012F6363299402FE829DC +D04C49E7133FBD479004C862407C32BBD874F960D7A66079764CC25ACB57EAB2867528DEAC5C4739 +45A8D2F41F3BF78EE542FCC3457EEFD7B1FFA289B975C5348265A895C20DF6798CE4B5F6E002F886 +A41C818A7164938D845D37765524797B885A643C9EAA93BCEF4D49B39DE5E4C59489074BBB1BF0EE +C24B8744D5AC73296D2B3A5E5DA6866E09312C8E376F3C852514A4A229A5F60430F71D4DCC7EB541 +763BAC533D42819D27F40FFA61B6D0F1CE03839C340D8FA8AAA231BA5B2E16C4FC9598D2A69B8090 +65CF61495E03F191656E8CA98B925746086AAD449F3A80BA07E9AE56AD39575AD0C2FBE498A34A38 +C2EB5714BDC728A1BAF91771C0A68FA0CB38B7E2EEE375787A9D903780BBA8202D430AC7C26955D6 +4041E145A9BA64FBA981E1B63DD1E236490A0194BD862227AD5643FF85799661E8A3932D538EDAB3 +FAD4D05C8586150573B40A1202DE850261BA53A4B4AD383308D313E7A34FEFA561F7A6D5C9B53658 +1D950F18211ED42D298DC38BE9989349171AC51BD496BDC86785DC4659FC7FEAC930222CC6CC2E73 +BE608723F2119B731BC9C37108ECA85FCB6C123B8E83BC00F258F8A6D0BCC40724BA8DEF566EE06B +5545ADEBE3B0DFC98950F19FC08DE02EB47E7FB1DC5E46D1CC6B5B974220AF7414D0C1DBEE4437A9 +BE8B518188169194592EA6E1670ABBB07E3343433FD55A53F9263EC8DFF81C2AF16E089FDDF4E748 +79BF48A1F522BD2DC32ACAEDE60928FF08A23FBEF25C8099CEEFC7D7502F845CDCC94D4FD8DA7BC0 +D55606349159F1DD9CD89A6E6358E670D8F8F3DEF6AFB949B2E1680BC69E8BA3D3A6EBC279585575 +1DA6992A609674EDF1216DAD9FC55ADA28146842443F81AFA03C767379DCA24BF9B46E1BEF4E22D0 +A098143DA3C3672646C1581C8638D2AEE021F1112C9E2158B7685B89D4019E34583EDEE2E4357CD9 +F6B77AC39BD8C5591509C6F31CBE64B41BC9E4C10564644B589975BD8797B6C4C71220950C5B4377 +6B5592439DC48BF408F14F24D8CD4D95B5F61DAB29A3C4189214CB2F12671DC46E048E08EB96FBE1 +CDC07E40D4A8FB0DBEB7D5C8A3C4FC0CA1ABDBE73F0792084F9F3CF17109BCA7E9DD261E34F9201B +3B1426A0BE7FFA3DF5F986A922D2A31906D0D6906AEA6A225E6D2EA99D2E4D7C75C8251ECC6486C5 +E9E72948B57EDF9E5165AEAC1A283A5EDB72CFE1963E6ACA7A30F4466D372B3E92E4692980E3D263 +505E711D0F61D1E47B2F142187A661E952752CCDD0C10C63629799CFE8FCCB20DC0EA68B9580DABB +53A4059A0C90370FD388CD0B4C68CEB9A8ECDD238AA1236A0EB369F888573447112CF84231059AC5 +B92D19C0478BDEAAFFD1706177EDFB4C4CFC0BE890E0F3F95C281487F5A8BD33521FC33075201DEC +71AF5CBDA79948331D7B7BAEC96C08ED3AEF44A4C7131E4993B0286D619306C9E17418E44CFF648E +8D09F3A98EB9649DF0064062FB839EE810B4C7903845937F64AA38040886756DA28C84981D695879 +35690E9B8B11077DC3A6B4738E29ED5440238D0FFEE6F2CA627D967BE1B5E51B3C39FF222E949E21 +E25045FC3A0A6E7B4CEBC8484E670C03B38E4EA3B7D0E310BBAB121F5A2A231850268A6AABC22DED +994DFA50C86219C9F718DEADD9F9AC1DA1441258FDC21A3064594EAECFF1D72A572B385C65418D97 +D5ABDAB1333FAA5FD31C817A7836AC4B3AECABD780F6319789307ECF971D6D71232E608440395AAD +974802BB706205EF251E1480086411A6ACD0BCBBC855B49F7EB2D832C3601673E5E85A5483576EAA +E9AD26CA527EF0DAA24B65CF3A1A58C016C59BD1C987D3AB55B98D21FDF65F486BD08EDF4B4E2B06 +F51877363879A098FED59FA7542203833D8C596E3260279FFD6B52DAD25281DA022AC15E1D7E6442 +038CF80371BFF195DCD9B3C5594AF3D0D11BDB30AF5FA777EF680F3ED4CB536D818CF05648059B55 +536D214A765C9F510DD0834AB69AB542F1D24B1F2013B919BAE4DE01165128046B69A01863071991 +FFA4A7CEF63F9D41C02790AAC1F88AE703A6822EBBB7BF94B36FB877D737E8D11EF17149C7AA6F9B +2AA332994DFCAFCBB8E56CCB953C0A2920D970B715DD4FD8EB194579DB270A46D3C9E115B691DADA +7B3B0336FD627A78DCF578DED8743B047C0581933657AD33B38349CF677472D487646A98C9B4CF4D +23C9BB6054CBF27C3BD95DAA4324F87F4A876C70D7E1B4B5025FE3CAF01CD83E63DD87BFCDEC4F55 +7097BF1C2192642FA14155ED68D59A6029D714390F1F3BDC08AF3905B73C16EAE90190FB32FE78F5 +4C8364E45254AA6B333BBE82B1C3F363D95BA40392BE7E9636ADC6BC7D31FCD25434173E3EA79575 +DE05E3FFFBB3F6C8B500AB0A14338FF745940C390E2DE7DB1DFE5E35C6B902D86D639E254C0EB513 +433961C0DC9D493CF2CD165C36EA75C6B01419F74A7729344373F0C8C7C42C5BE574CA8E4E40DA30 +D5240C8D07A3527B98A6252A133DF146F3063E93B3ED973046DB1BF30BBFA9C260D4A78EF85F65E0 +978DF212DD81276D70FE53982C1B1C15121B1C1463D86192FCAC0640E3FA3B2E92FDD95412A61EC8 +E1AA06E4B7DCD67FB3FF976C6B0CEAAB5D64177F0D52772958D1F81BECD4BE9C7F7777A34668EE62 +C60BDB1AF56F3E613CA427EE533B3ACC0C42A4BDF2C16A1FDBBAAAF2859FB9F3FF312AA67BA84D3D +6319FBAE293859DE5A7DF36118345B2AE03972FFADBAD92563CBF001D585865D4DA68CA70D90BA62 +584C793F2C56 +44621343A1E8F224D885AF3C659019AF34AA1F499EDC15F234DD75BA35CC728BDEF3FD6CAB5E588F +CDFB38ED63C8D4AB6D9589B8A8234D6A26539CE8D233B05B066CC3EB2B1D53C3EE2A71EA684C53D6 +DB8CFB887DA412E72ECEF7D7E4384549906BEFA5B5D6BCCDE4079AC13D93AF46D44A33655B26B6C2 +D4CA2BA1A5105A8D8A27DFB83E33EDD1154A0349AF43E8FE5F5F2E1324DA3B1F8128ACF24D340FD6 +6174912740AD7D542CB9497954B88A803BB777F4F63DDBCCDCC493D6FCC93B04915CCEFBD87054EE +5AEE47251F5B90A8BD19C0E49EB819CB03F964E034033F246483D752D1874DA49C9E32539CB8DA6C +F72186EEC417AA6A4B41A29E125C2D004890B38DB90B98E0DEF906EFC5D5060EFA8E054EC946851B +EE61E33B67BCFCFD57A35EA766F4A1668C93BCA4792C4F195035F135200C7C44C0206D96A918E4CB +D5E170850EAB7AAB593FFFED493D616DE1C3E5918378DB87223A67F795D871B9E19AC8AB8424166D +C5DDF906E64B040F0B99FA5DCFD80A87B009F7D0D1AC9604CA5EFC02BB76D0161C91261CF537F589 +A92BFC5822A5923ADF776B48B2C84B694F28BBB0877FC0E621B4BEA17F2C3DC0FE8E32B91C585785 +54046E316A977D067EC47F800907EF65D69C6DAD52F23C0883DCF907C28204D64DECC07C6C265CBA +C279564DEA8C24BF2103E7CECD5AD3AB66D696E6DF87B132609EF1C4A525A453A7C924E16D4BB66C +009533D3352FC529F9E3FA6F56881597DFFFC0E7FB1E25F5B5AB3EBE0DDD912D19D949B7EEC2606A +B538928C33018834B9519EF5C41F9BF12034FB40731FDC2B5A0EF32A869B8B40BEF1353F16AC06E7 +5A9CD41EBA0754D506FE22029B686B57131DB46F64CCDC600AA23D464E248388C4669067D72D6A26 +6E20EFF53DAEB3B83CEF02015CFDFA804942A07BA30904FE29197375F983C721E12B729BB728491D +4A0BB3E94F67464EE38A387E32402187E6B5ECD5D43B9B2D94497BC2624C540143A25C8F7B4C8850 +87DFBF804E66F7BBDA2C5CD22DD553ADCDC5C3C95DCA8CA468305A37BC9ACFB161A1798A38F8F63B +1559BBA479501C4DEB4C5A115818F1794A51493F5A26F963841A3A471D97878EABDF5AC90456E532 +5869EBFAC69087CBD62A16674950D54D804FEAD57904A4A18169F4BC18D5B93D693A690F4AA8B4B1 +78CC2E03760E0FF22C70EE5F2F90BCD46FB77AB9C2DFCE777B796FA0F9F211C76DF9F614C6A2237E +6E5E803F0C229652262AEA10E38C178A17D3FBBA6908447B64F95A2BC8F58AE6F89E945586086481 +D9583A05A56CC67116F35F4A917CA32EE1DCFC32117167BD6B3067B74B917CC0BF949AFFD8A28195 +6368CF5637BBAE7A58DFFB8DB7610F5F1B5327EEC40B1B814B17916063BA0AF5692E1AA381DC802F +5136275A05CA757073058B6257E5748001F63ADAC0CE1734FE458073F188F2F166D6B92104EC94D1 +2D7D2136B9EFB331722E1F789B2F12C12D970373FD8519CFF9545872E6F611318A10A5C064A0A6BE +1944491C6F96D0AD1C68BBA0C54EB5F47840FBEC71279FE351952EF0646D2E03188D7365BBC0A40F +45E71EE220F4270F9DE2A88CE14F86E2810C78D8CA0916DEEBF8A3707F9B7C6BEFA647F658648F7D +C3D4B609CC64568384076950B1EE7004EE8480E259BB966CEF53243684692AC1AA2D0CB66B33286A +85C758408719C47F1B6FE1C819BF894736C35E42F527218C85CB78CC75A3900632FF70C182723B4B +5DB636FBD2E664802FB6D95ED92EE26A8E0708197C434F551712F25BE18A96539F4DDC13685F443A +0739BD20D16ABA9E1F240238D4D1B6E580C9B98C0A8CAE172BC1AD15BA92DE4958752D362181939C +E3C47147B214FFE31387508DBCDA407B3C708E3EFCBC0B51C325BCC9D8FFEED4DE0141C66EE1B068 +0B117607841EC0F06ED3C78331C86AB5C27F0DE595E00168BB085F6570D39F8971FD4301AC2570AF +23E81674984070579A38FD785D5C72FEBAF4A581F44B93046DC10DBC283694578C408CEB0B184EA2 +C37FDAA02513584698AF991DF2232422FE688EF94439CD793871674A0E1CAA49750F0705248D35C7 +DDEBF8216CC16D7D9C93AC4C5F82DF915D6042FA4283EDB3F0CE514CB7BD109420C68E82589A7E8B +0AC48CE5A855AB0D7651D9CE64810C8170674EF6127A4F3B0B24C159AA1C402FFAD4ADA7B33D2295 +ED594224047C563053261EA4C5E6FD8EDD88A1BB7F9AD69710563AE873D589B5E40E102D9E533CCC +A30CCEC2A5D9DB698957EBF4C81E95C5278F3E8DE6E202E683F1B54F8207257D6CCB406FE1A725C1 +0A8C4A879E1344F34849CA0793F78EC581D5B780E22DA5829E49770C1489756083FB0A75FC40BD9C +7C955CD48B0EF5D6FAA5A61CEBC6E8EA3D60CD970802CAD5495736638B1E431547572E0233EDA901 +E7115EFAA73A3716AA8EDF6A0D1098AB8AFE0014044A6B78C27B9D6132B1D98358EB4A5AEE58176B +DBCEFA0C4461CC9D1A4AF871F02A090B760616615EF3E154BD1C589A16774E4B87AB0AC5F00FCEA7 +43C848AEA52FEB18880DB3473A46FDBEEC14F07E600CC8492F12F374E9DC50751AA24BDD32814554 +B29BBFED7EFD695404BFE27B5EC712041EAFE79AFD82CA39CCC94E62B40A4B725546751FB15C7AE0 +91C5FDFD3DFF576BE5C494D3B8B721510AA70B813658856786A1C330AC57F871D353A10042517D4C +FC8F4A31A450799006666552AFFC111C48818FF87EE1C36C78202BAFC98D2E049E1A141988844FEB +976CD62255DD1612111B9B0D912CE40EA90FAE7ABB5E76B887945DBA38D13B5FB2B3F15F80BC5D4C +3969A685D45F31F30C7EDD19D978B4767DB034EEE0C19C9E1CB8ABD2294D05CF3622C459810D7224 +07322DA21743 +3BCA00B0C566F8AA47DB330762284630D838DACCE101BF9FD03ADA152A9B3D16E7804DCA0A254C22 +76AE959476BFE5905BB25DA721292F2A7851A8B59C29EF967B6C3A5A11B47391B1AB66CFECE42EBD +A4E3BC2008C577296CE9EE203826BF12D01F482D9ED2351B45C3A21C5AA53B531914D06DDBD1298F +498AFFF114952CA5E3124ACFFA3DB5E1ADD516E1F649F72F573DB35C3D25C584A613FACF3DD86E0F +CE10A506E0FDFC8A310C581A614B04E3EAC6A1E7A12DE954F3304DD798C471821E7C20E0AA350BA1 +4856FEF74AA7F34A26838CAB0B18406D3A0DA3A96535B81E8EDB34E681D3D23C3E2AA23BD44AF815 +3BDA8911A88A612F48D424BE4BF4243EC9B52ABFD4A4695076B5351B1B497A5239CBC45C09854618 +B6736A1B791AD0377AFB35E53D47B2BB94AC3BDFAA60FC9B21B461B86A37A828130145F296A95F15 +AFE6E3A600D0DC7E28FEA7DFF2D03383981EF50955FA17E33F0B75634C325D2ECBD3077472E39D38 +0E5901331EFF94E2FC1259EB052D84741DF533D31138797F292E02D92E32184A60692BC8D3A33AC0 +F5727558A899C65BCDED3DF1760441C3D2FF0317EFB11E6C9BF79B5A46C4D81F0F7A753C18B313CC +52B545B3DE22EE2142C435C4D792FAE79294993B33803DCAFEDCDD0533FD799EADBEBBE664DA9CDB +A9D89B1D0C796F503B72EAE673F5C350457F88458D7B6D0484A94CA0B4681DE8E7195D12F3B2AF19 +CE4ED067058E0559010D1F8B6AC2B403A3117DD23CC5CB7829B837F64850FFACDD1FFB3160CDBE68 +ED5742DDEF0AC0114C025255EB0FE66418E3DAFFE832FB80ADFDC346C63AAABF817C39925FECE456 +E8C063794BCD231CB6816E15117A1C22D8F8B5E945F990585122C85A49AD5AE87BA9AA1062E3870B +08855749AC861ADFA6A86E554A2C8183C1314161CE1D684BB4958E1DE4CC57915CD3491C8309D593 +C7CF5F7253FB5D2AE26DF33DA09B33A6C611840BAE0209C3FD2870FF0B17FE1B762CB470D82A0ACB +73580FE41A6E7DD605FAA06F6E0D714AB0151D3DD10E77EE03E3AAFF6D8C465D903B6D5C7E6E2C76 +2779F0E88C7F6895C48E874E48A0C818864986BAA0300DB1F3706630395896AAA029E271CD9710FB +B594B4CC3799BCD4C5D304DA54A3D4FB32D17A1E3AB5F5AB0D1E43362F3B32BFE6CAB02056E67041 +5FB82A7F47347928F9FA8316CF4F561C0F16F313AA8682CEAE7799F369E5AC8C529579FE2E361E7C +C7E2D263DCF49A13FCE083D3D41CCA2022531CD51145EB5AEC6C596CE38F67677A2F13DD89E5DD64 +4D2707C728BEDFBA96A9AA4522C68F00B195D25B748A5C51C77F494B0005838FFA3DBBB0E6789543 +E1BC889ED5D281F455B375C50642A0CC178A5DCF9B655D0693A9F632D752FE142065431B83B85447 +727AA5334B23D90627663E335A06D112DC3AD4A0E3BAE916631AA40A6EBA579E1CF3E962DF315746 +BC663083B5B8F4A79DAD41880DFE63DFA87C42ACA766EB79CD5C2B84B706C8DD943A5C68CE9D352F +BD8F5E5701BA9580882DEE4B0ED1FF6022CC1FCAAFB47559B844818A7048017497FA2ED7D306BF2F +FD36896402EAB92AC2C28312137B96E89D10089384A376F3F571D50CB4C1D7CA77149B8F0C981989 +19DC43890A6FDA73DDD9278746DF34968DB9AD598DBDB4651846083F9728ED43BBFCAA664F534A1A +009129EF2F153E212AE443C0F3178A1C7BACE6FC43298691FE25FA5913C8A1B1ED30C77C85BDB011 +D1B0C35B63E84AE7C847E8CA61269929B74C8B8062D9942D3ED69EB7A6518869CC222C82C842F0A1 +7EDD7F57535B5CF6AC3347E8945E7EBA6A4FFB584AFC6AC347B13CB6D30AD1FE01C9DABD3DCE5964 +EE2525EDF3A72B095F54DC1431268FE097A7F4FC4AA5E966CF7536D0C6E82CEEAF227D89A1C72CA2 +C5CD994BC45AA6229F02B5E93B2F40A413A5E792EDF822AF205939BA589175521962C4162808EABF +2E4A78DC208D8D13FCB518C6EBCE5526492D2EDED07C5EC62D909547BDD7564EDFC274B192C05E9B +E31DCB2B43E8915D52969EE450DE8C2D082C690A9401FE504FE33BCFEE592630CA592E05341D7E70 +2B67C06A8058E37368ADBA751B100AAC3B093B840EACB1B39D54BBAD6528751144BDE92A424C0152 +26AD418697E051B605647EE4F48C68F22F3069E89E2CC9E045A6944C48A27777592B0E1278F23A5D +5BC812D623C86441A2DF2B6503AF2373BF846C331DDE3306D1439932D17B03B43E1312A32FB4335C +B597515754D31EE03508B50555C7F173EDA1E3030C753AA86E41E6EA03950B130F61DDF8FC4BBE1B +79E7A4919EDEEA73B99BA3750705D258EC0F85D82A3E6CB7D30139C73CB9245B966A212C4E329025 +220054ED0CC1E5BB1240AB0CDDD49EB5E783031FC90190C91E359D39181FEF63E3BEDF57F36F8B2C +60C4FC093ECE3E8825A5C960494BE1D5DD88803205A2159779849F51C538546EDF731EE2F9671A83 +C5FEE9D2F0460D518EC6AA4EDEAFED34DB493C199D7DDB7E6C37A1372A16C4B34A0651987331F9A3 +02F241BCB59F459832877F64D09988D6A3C6CE046058FB25744DCBD72B9B965808DC535A4B43F063 +B321F0F38F22E160485384E744499F66AD6A6206CA2B292975FC08C947F4F25AED71CD4DE416BC51 +793EC482BDD5B044EFA35D599CEF7C2F3BE8161DD357B8A239A7B9E725DFC799F23F4231793D26C2 +66355DCA9B071C2520344760DCE60BC1A91DD4203B0C42653E754D2963E048DA1388DED71C6AFFE5 +597DA1B5BE64435969655164C4D6C3B2F1CCD08FE04CD8653239CD91749832DCDF5D9AB81BB35002 +4D3A2D90CE2F7D17F690CD7CD53ECAB5536A0220F76678D9BF25AABC5DE385070059162BD17B3C43 +B8062FD98E42 +CD4816345C0AC6AF6D33B295381AFEE92547BA74879D28ACF4DE25D476C3CBA534F42834C6BFD101 +153551AEDFD7C91EE5D5B9EEB5ABAF1B7DFEDA2424682C80E0F0F2860FFD1F7B7A3D019EE7D6B0B6 +24B27F6EE8103953196195DD200D73E1FEE6FFC7E0232C00729E3ACDAC2D07B19DA813109737779A +66155CB5456030C78F5AA1142DCE6F0E0BDCE81D196A2E3210B0B514F6D8A0AEB620D9F2A0163D7B +633A82E8BE9BFB235A821FD5E4C4120504ABDE60848C5D5DC4AF9DB94ED162FD6ED166EBB181F470 +5A7D9A4B7E741358916D108A62A5A25B731435DD120A52B271BE5D1BD9F533E97C344994700479DA +D3297B1296ADA9D5C373BB67687C0EF04E735A56FA0605A5C58464E04D95507565BC9453F29EEE2C +D32B0BC24EE465D211E7EAB5989F481C0E0BE6F62FB5039CFE20CA7B1976A96704405BB45A2F3930 +45A73D209998CEBCB92505DDC1EEFBDA164C604955EE4F21A68E764A2A0314EE94EA932EAA53D67D +BDE5493277760F800DCD63BD3D426C38CC3BC68A5846436DE135E6BA0F9AC198A930043632B661C4 +FDCF393129F146E0631E8A73FA03B9516DA66D9E0E28A892337027BB6D5124B4936A6CEB3A844045 +0E4B6D9E14741DDAD0B4C7742EE271802B5CC65736529A4F5178576695E44C5344467431762265E9 +03313D0705F70604495CF93AB7C752066300A658F6F12EC0E44477FA829771E022A4C449F2E33B49 +FDFDDD6716FDBC498D04837EF5BE5055831239B458965B052E16C016E5DA776A7D953DA3B7229FA0 +92127325E13ED23C27CAAF5C7317EDCBD663143CEA56EF6825A1E3F635B6C5EC395AD13F9EFF1BC8 +B6575527CA358C5D2C412FF00612C60B45D476EEC75D54D9A6401CFB84089202429FC88797C096BF +2C71237896F83E562EB99B1D5BD061FC72808FE22894252EF4C3152EB56A7E2587B1D2EE88ABBBE4 +54153454CA8E8343B4A2396A68D4FEA33CD7C309124792068F249375DF79F4C4FD7F17EB134655AA +F98FF3B1671231D273A7F49EAD18EBE2709E8892F18EE33BDB8C9ED6ED98E05017FE5081D96C18D1 +36906935AF2C5476450564D443BFBE8E393AC7B92BA531020B74F9B43BDD10F24970413E85593AAE +D01EBF42E08C1DC11583C926CB7C2E51CBAB34F27FF15D056BC42B0890D5A03926B56E36CB199CF8 +B554ACD11B394C3FCA055C2561457787F0C1CAA8514AD2E54BF82C5EFFCECF4957FD929B5B133E77 +7F0CCD4E7A6B1F17868335684299522091F56173CD1A002E880A0E45A05D01F4A1903EC90342F14B +200769AEBC9F8F05FB3642E5319541F18303BA4FECF62C56D4487090946BB09A400C982360D97F29 +AC0A7984B4B24896D70501D0B2E9E2D134831412D7506C7D9FBA433D7450658D8AE8CA7975E9056B +34439920EC2D5209E27EC723AE301C010B4B2747A47D5EE8E80226E83D6AA14C51D2924C6FE3597D +D6B3CF1CA17005634E49EEA66566034A66CDE053A6B599720EA6728C77801F796921BA1DA45A866C +EBE4DFC66048BA79EC45DCA08B41760FD4A57B6FECA69972798D243F1DB36108EE2E2794818313F4 +A388F7E3F064E6C62F355ADE649506E0016CFF6B41B495C5B5528A6A4441FD61864FD5099EDF4034 +22422A0424783CD2FB79875593F8E8C9E177564C550A9CB88575D79FFE6D9B8E69039B1212B0E2D8 +4BC906C5F07DDDC49716A798ED298540C07CBE3771837E8CEE97922EA7EC6780E75C5862B5E92945 +11CE1D008058F7040E235012B0703D1DFB3A273E4F8BFA5EBEDD53A69439D6C0C306DE37BE0613B0 +365B5BA6DAD67AAE4A83BE5CF580FDBC1963DA237E7A345FC7A77D212CEBCCD620A54CC26A5C1922 +A680EF25A6ADBEB6871F051A9A67C1CE04E2C562B8F4B82383280DFD87FF5062775D39D16EB5E819 +54184BC35053A73D4EE6CA2C8EC22248F4649258CA6F0C042F12EC50DA61F7AE4D8BB35F9EEF07A6 +0E5B532A79C5973075EE332693B8F6BBE8E640BF9DE416E69F7EDC995DFA9EEC2E5F6A9F302311F8 +3D1035095E61E039AA5D098387F8A4BCBAF18ABFAF03E0DCE7554254C17F0523B2E216110DD6B77E +DDB28FB9B516D910E7F2937409497957E2CA5A7456A02F27B3D74F7289FB4B6D40A869171E5A5F1E +847730B1E2B5F527396F8096441F1B9D027E8E9ACF6643B6A9B56B798DE61D105105442371104BCE +498C38365D62460EC290F40E31A7F2FE9A94FFD63968B5BA851CB7B905CE65EAFF877559A945D39A +7C21CFC091321586C46ADAC55E528251B21C579634E8554002A8825FFAA2BF82059394B323B6A22E +FF8B968161C85A9384D6DD04B982A859F015D30503D1363F662DB9CF50F7EE1A099B323A89124D3E +C884E253AB5A89761B668C2FE47ADBA0E6205C44B5E25F9AEC72F3BE5D30323D9DEE1EFA84B0368D +E8909E173C8E7AF1BEDF40E2158EA07EAFBCD98D3A5503E70A51284D159B097DD413A95E199F95EB +FA1A05BFE6C0AA960EEDD61C39B88A715384B2DD4FC00D885BCAD6E752E91EB062080DDE0A235C89 +2B2794339CC4BD17E7350E39168BD3F3AFFDB487584D3661AFD9F166393DF156A7122DA8435CABF7 +6786E6CF502D7DAEEDE8ECA265FDD4A940751F71C3CB1467541E13068B58D0302560D668A40A6D75 +DF510A504A6361931E32D8B79B891701A2E60588BE36AC2F5408C41899947EB7A16359DF71F41A19 +3E6052290F0DFA66C79976434DBB17CDEC475A743F5320B2D3EA26C93CA9222C71D71DF04AB39225 +0EB215476E3CE9230979F170B83986C4B68431924B1EAF73FF224C03B334CA728B291A287CF72A39 +050BCAF304EF52A434D336060D26C0944EEBFB7469F1B9DA0A5A27F225F34856E7D93C07AB40FE96 +DC245E4D3FB7 +D96A1EDAE81A89AC3FF28EA1F9EFFEFB704E45D68A1A8E93CB11CEA25DD2DA72800C2CCE63145464 +240D1A67B20D274FEA6551D61CE9A64B05259B4E63EC482EF79E75E2650B2B8557D2388498E5AD4E +D7CF017F05986912888ABAA74AEC470292B5B3BF09AD9FAF98FB6D4243C10EC84C91EAC2156F4F80 +62BCD0CEA9E7119768712803AABAA85148210086777D110CBD9D70182C246B368934A48375EBE5A4 +8E1D271FDCE76FACFCB8781B3D5B0A316C148A7D822993241674AB8076D11293CBAD197F350852ED +B32668DBF62F98484C94CB00FC193ED4CE11D31A0A529A1CE959460513388D247D846CC403E2F2E8 +A1858D5CD4E34250941374D0379AC6C3580226FAD93DCB25F59842C750284B75C40FF54FAE09D369 +BEBFAF91FADB394BD1D96B42256E00F93C474799C6208E110419E747C503323816BE8EDA2FAACD9C +6C4C3964597298259B76DBDEA7AD0FAEECD296FC1C316F23F5A378AEC8E08E224727D75C6E96F0E3 +92D23DCDDCFDFCB17AAB11E9F004058270808C25A4367EC0D45DD1FB5DAB712BA9FBAE9110EFBF40 +D32D313E5458159586DE0A7A9E2BEE3C7461802167ABC884253E9665C16D88D5F45BE4BAFF822DC4 +7A3221682CED122A900114247CE06B282513C7247ED1DF3E849DFA090C07BD6653023194E870D42F +EA462CF5020C5791C9EB846363DFFDFD5E8C5BB9B9FB2C193ABEBEFF48ED3F1574AEF7273044316D +CD3CF72429C1BFC7E2344EE2BD10CE1C1C73C42746BB889AF5CB640BDC1DBAE93503EE6C62D0CC32 +45F1A5F3E505792680A8AD20887D8AE4A1DF9C05AE148B3235BB25ED8A0D006E53C6D389FFC19FB5 +0C80A555A65D6E7B8F8676C8E41CAEE467EAFCEEE76581A0051498B69E1B98785A6704112C4AF1BD +2BD54E07A56FBE59A3CA36E101C3A00A42D0D813E1F3F09DF244A33EA71DA0437807257E82B31070 +E09059C44C7ADED0B709F1743DC58881252346E09C2FE1CB889DA605111DC51F37C35F2468AFBC44 +A4F9FDA2062D7E30C42B8DCEE393437CA2BA63F79EE07A5776E907079B225B29B8C0CCD59514B16F +28A32F4EB4E42309D13E590F2BEA886E87ABC618B96B6A919441235A05D6C69EC1B24D17F3C4D365 +9D9584E61F73B6EE20245E0676BCED3F65993A1751931768CA86BA71601919FA80D9219D4135374F +2911DFAC3DA92F783B41BB37EF4D5904C71C839A2D32E0C2B849DDE97DA33E62F652685E95EECFEF +42E0121FD90B28369D4F2D8F3FAAA8CDD50A6A3E0DF5332C55C205E1C7279F6FCD6618E4FDCC758C +19DC263D8B5A47FCC5E20256D9E5273EDF6BA5DAE9F5EE9DF8873F11427878EC526863BDDF379902 +E89E33E5D1DA5D75EB752EF3289952EF772A77F7595606EABE259CAF5A31B0B1FEC05CF9748A11B2 +076DB8632180AB400C7431B710840A4C028FB156427A6B3C0A46FDA6C8D89FD0945B6A1EBF14D0BE +512E57996CCADCD45C62B5E88DABD9D92055016896361D9BFABC29889C19BDD1E4C51E74890B50E8 +F357BE9E745D8B893CA19D45D88F14B88F97CB52C8921244883CDCD936E70C6084659F72B3EFC7FA +21EBFA77C9E11283DFB891692D0D1D1D7E137847911499B72D6C69BC33BCE3B6862103249A7049A6 +E784C5AA70333671BD72BCD6276A17268CA772C9B37AF61E459AB2D1AA8F0760E3208E1D95FE4332 +25471EE0E8F52BF729B6B18C05448385CA1C0FF8704A3661D87F32031B2F198081DE90A02DCFB18E +301F99ABB75610C9D33F0FC179F7337291CD0D3F3B74B026F2C0E58FBF0AF0B62CD4152A5EFFF82B +0DD8A29550FD6BC2765171D5E9FB5ABBA286D90BC31C24384DBDB995772DFF77FCC2BE8304F26D8F +2560B309E973B396FED4DDDA52BB00CB6B52C7AFC378F67BEA41747690A32CE257912A679DC11CBE +6B4DD5FFB5FED0E6E1C6E2CD1EB19381BB162F3573CBAA75241F2DFEFF6AD631287AEA5B4D8B1F4E +6E4A4A7696D6D3112C5459D40BEAC2C774B65DB893C27DB391C8BBB274154C5F455172D4D0032FE4 +6CF190FAA83FC2690D3FA20D77E30AEB93217C5E3CEA30BA6089F2129516468A1165BBB024C6662A +BB4FB98DB7FF7F83F5A70A1B156C98B37AFAAA53B6A200DCC81574E65AC23BF214D3B92DA87ADB59 +0E749C644C40CC86AA2E3187FCF8AD79101EE4871C7FBE79AA9713359BFE422922FD3BBDB5F76692 +30A00672BF71080DC5B41622EDA7E6AE82EF1F8BF90CFD572ED794B8C4F208BF3B7CBC772BA73A79 +CE75E56E7EB5CB9F9176549C636E4653AB425E7BC1E3A3F2BB51C070198AFE21BD3938E84443FD67 +46CD788F1E7566F512592673DC4FFF3DF4C427892C876B298B9331B423C408D562EE49336A9073AA +CC1780657ABE4FFA5C1762C4129E4342C24585DA20A97FEA026F77BA0453FB4258B305AFEA3F8259 +49554072E960D4ABC20585445D848355C558134B1D5AA35A01C11336B2B70F2162E83E5EB241E519 +F375AE551097C517DA3DC51A45978FE5FB3CD5AC992E1B288F7A5B5F0FE6B59488E9852D1F59B8D7 +B8960EFA2F046A0327CDEEEBED7DBC64D1572D33846B407B79C7362238FC637BC58533B4E540CDE5 +E3C5A095E99E9B10BA0204145692D98B5C3968964B63506C85CC8E6D896A78226A2F9C10D52F17D5 +D9BE0B3E6794B6A6557FBDA493C828F5202D4364B1CBB812B7BB2D532A4D19411AE9841ECBCB1414 +43020A3F582546C925EE5B0A4495BF58B3B6F6FE83CCF7D851F7F550556CB904C93662C14D05061F +58FF0E505EF8B6EBCB8F0E664BE210FBCDD832E5D5B495C0B783003E7590F3216E1227AC55354ED7 +59D94D4D65F3A087CD7C03E6071BA6268E1A53EB0BBDACEFE343A41D55A94F140A608B5C4DD77B0F +80F1AF8E5F49 +10BBF9623BCFD8CCAE516DD2D976115521B51E0B273FAC9F76BD4652AE86887F6EB9CDCC3EA77A10 +0FAD2E0CA8FBD67C617AFC576D102C594B8098F29AFF888AA554D51955686964D131E976DE9FBDA0 +CFFA14CD9CC3BF1B2894ED5084B061D975927CA4337825D0291978425950751141AF2380B76B3A65 +3407578B527AFCFE4BC5475255F613A6AD98D0D840E0478C057E479B65617A2DE51761E2FDC66A8F +8E15071589EEB96ECD894703CD7C94A039759F8E1823A86497199205F7E4F6F13D261D3BAC6C7A71 +E2669FF236A4ECEA4076B70E9ED0FE6449C92DB176C7F849B9BABF63ABF622FAAF87D409C9776E58 +A02B1186CAF85225A6E0572EBAAF7075F94FCEED357AA48031AC182C112F1072C725757EBF2E3FCF +296292A60971D8DD546DE3C9C6358D89381847AB61C436BAD0BF11B443B65DE424820636ABAE97E0 +AD909EFEEDC2FB9CB3C023D70C27CE5E8298759C9985CC5F0F32FA40F6BC074244C99C0E1CF8C5A9 +B29DFFD0DA3D5D52EE278C30429160830E611E5FB219E3DA5B1D823152D894C9F8DCB7E03836DD4B +058290A064C685DBBA749F68FA5A6098488C8C5107EE1011839C1A049B000630A56A19D001AFEB98 +FFD5A8FABFD64D8213D6B931AB3B0F514C95EEF8D332BD8E35C49828632A8DDCBE4F6F07B37D6D91 +F40F823D40AE3E29445521CF924B53FDEB88D030A09166F98E6E2B327FADDDF1FFED03BEE7E8ED67 +EFA1A76BC2D5E2F0BBFD697B39883D1ACEABF60858D8C811407E44003DD62ACAEB78B766C34CA34B +1E6B71F0EC469C7F315C1D5FED01356CFFE9BA5E7D1D0C17E881C7E92F9F6EDC6F05AC58A44D50A7 +A8883B78C94F92D4D7633A10884AA7655AFEB0618D1CA12D81840DC63320DD954B6C9AC2C9FC9B6C +F904D385BC89694814C706F0F9CC9C04B0BB3550D4ED37B469D16072205A9B24D9BCC53A6086778E +E4BFB6EBF40FB35D9D2B1D52B851EF9EDF6CC1C00AF9FD76F249CCDC4AEE9B33F96CD875363F9590 +2B25E88EEA60D400AF78313B3E9A9908AA3DC09AFE2095B246538D4B7E9ACA70EDB9F6DF83B76BE1 +05B3BBE5DC4930B24EA81853190C18384BEFC44CBCAE3D8663405C54BFBB97B7E1C69982A9EB1779 +BF0254D47097914D048CC9193702B67505511A7A689EE16C030CFAE885609B6F4EBD382B213A1588 +F73794121B649B743494663D0BD67988288A37B5E60724EF5F99993690EDE0EAC0EB818E689511CC +C6C0372C69C3BFB22569D5F03BB0111AEAAA468B3265C70DB767F9FBE5356191AB13860197D69C98 +24A5430610B9E2186C167CD1C088976B33B17B07DFFCAA6C0F0BFD55C0C4BEF12C7BF3C72F585D54 +5A9C2162CC038EFFD1A24D6A7064DB134520ADA06FCE6D9AA719963F1D05E558654506A89DA509E2 +581F2AAAE09EC5762673DF615BF896EEE543A1ABB4C5598711D44B3C85B2A69856A6A74B9B948E12 +7C38C6FC2807748218AAD6644AE5ADE1A9FAB0D83A7095EC274EE03CDFBFD5D8FF414B2C04C421B5 +6EF475784BAF90FD8D6E40B3CE480E688B87BE5E97E3B3CC7AFA84166562186BE985A919DA20C40E +A7F8D2C8A5EA0EA3EB4686AB07B893143CE53F8B85B19A7751E6927D924844336BB4C11BCCA37067 +C7CBEE787184D725FCD5CBFB243B1F6DF3F650F579162DE4BBEC04E90FDEFACD1E954F1124558908 +D5650A956B61923B77A7EEC634BC56D95062C68548C27D9BA6D8A1F141A9F4EED410E14EBEAFE347 +F8F21DA7053F48A48CB6A74C25AAF6AE8AE0FCC0DB040B8B475B5B8383BA35C4540A91FE27637B13 +5A35F8437375C248CD14ACBA1DC870DBE02A113C16FE351564E12A8BC742CAFA4BCB2544470C471B +CCB17247D6B9283464EE79C030D4CD43EB6CDB2783495A53A0F8ACAA75FA89EA9B79120A52ED31C4 +9B824E2FB69F3B940675B85A5CC786E709257F6EC091B5E87EF99E80B9508532EC7F333D4AD97F94 +AD641144FCD1B337E0D078A6104071466BAF1F864E341985C6B2C576C745628BEECC8272FC274DEF +413AAB479AF832AC9A6D2032486C2D7D5D13475ECE72D24523D34D3C78F33663AA2A58E27863076B +D27DC5C5EA3E68589B4AA2B51F45859DD226042E954EA3F886196D2964839441F89A1EBFD3370CDF +C0C47C186B97F1ACBF8A645CD369263D2EA3B226DA21AD0620C8893EBB5A4CCD49CBB89EF976E197 +F74776CD22BEC1C517252C8D91D8D514C4818663CE06AE10E3C328F9312CEB1AEEFEBC662851B813 +5EB9752849DC5137DC1C1BECF2EB4808B5316AC62386B8A7751E22EDB72900862371F742E2BF4100 +7BF588729B23BE311CD4BBEF18B860675DB9E7C4AC45414596F9007C35CB64A867DADAC6D5E4A767 +C0171645A15A2350AD028C4EBA09A42E32E9B3D34341F97D8D3F123C70C6E6BDE6A2AC8D9107200F +B372A92FA4EF93B699C3E4ABCF90DCD08D22438878E3BD939E9882B6136B137BDCA78C1F6D5F115D +5308838FD1C822E79B28AC974DAD481143D7737888E650AD467FEA8AD0FAE68B4928B7D66103C2E8 +28E0150FF6FDA7CC1F17C00038CB717E01F0FBF1CB699ED8201D22C10F8C87ADE1BF0989C56FEEC3 +046E5042374537637F99631C0ED1404015B7464673B847A91B80AF41884E0ED78EC40A2AFAEC1821 +08173B861FAABDABB1142466453A52CFC31E011EE0734BA921439A4F6C0ABAAD264352237A9DE202 +B91F538BA947EC7E857A6B34CD47BA44A34021C0A918C646134287A09A81EE227661280CCFABC71B +010D575FAED0DEBC1F05137F18E5CBD365D804FE3F99AE417C86B5143ED579274990FE0559102D9B +FD7E0EF0D505299198B9186EDC16B96148C3F9EC77D67AB037C22E165702DEBB6AA8068D5455C4BA +23E62A1DA898 +5E0EF09E3237C92464C63B85B1D4F2A9AA6BC367151CA09DBA7AB45840F84C20D623576FC4BAF18F +E965AA5A4F5B695AA2BFD4330A237ECE3206A9BC0A773F2B5A77EA6AF26ADE589B6673890571C4F3 +8D1E551EBE354ACC993BFAF8D5D789E297B425E27AB43F9EAC32D7A3E2B0B69806E4045A928F2EA4 +D716EF77DFC0FABF076485F16D89C1340950EFE3069F7FD849E56707EDE70791BC62BC7974F70EF1 +477657871A833864F32ED20B064884E487447DFD9A742BE7BD420E9B10843BCFD97B202D767A80E6 +AC6EDCF44D7E316B92398573D072CE5E6F553F5FB95768F617D3A29FDB66B6BFDEC1ED4CB45CB91A +79E6CC809B177CA32BEF259243C117F4D13C1CFD09968C68383DAF32ED4125730B91F0A3B74415E6 +04077FD0F3AA15C0CFF85D73F94888745C1D75BA573ECE887D8D9CDC4FAFE76A0C8BEEFD8D0FCA7E +E1FE53F82320D9E26CCF2DA81567B51D275DA914C9683087AE2AEAE9BC3022C8177AD5E1563B15C2 +175D96FEDCABF0BFE5003E7D7789871EBE030E501896790415B0F99AD667AE763C5AC7EB873C56D8 +1EBB9C7CAA5E0565FF2BB2B7136AAADBF4D1F54C93F926E1052B8C7825B88DFF3ADBA22AA2DB087E +601EFC8F0C66CC0BDBE5AF02ABAE874F41AC47DE202EBFD74B5E26CB552C67E37DC4F9EC96E9F13F +207846383B7F658C9905CDC5731513AC12EBD160E3F649AB0A10621E62FD3AE7173300802C9C6AF5 +FF64AB3DDB97901160F00709B7127E17B7DE733D5A6601EF6E5DCDAE2B91462CE4D74AEA177FBC19 +A763A4744A659C49BBB0A991D9F95163F6D77976F1A01D1B7F6406B660DC7C678A61C263583C733E +D5305D387AA44352DE6A6F1148E747CF1D8E32AE004DB0CC147BA813A2DBB101E846F07C1B12E525 +157E427012F233FA5C35799195FFD97F8B0EA1B770D1476DB8A995015717AAA691CB796A3B4AE685 +6597317C4F9A569FC16FEC7AF7373A927E946C6EE6813605F68240F62E4A617665555CECE46AC40C +4D0C11A36C76D6FF3D5D81DA909FE3BF98A0A5E79ABE3CC66F2631D5DBA67EAA57E47CD1E5C775CB +1E6FDE4C9E334D0E95F34D5FA1693021F3519D876A30A4D9782F35557F91D10EF3DCF549351E1978 +60E530298876DA9DCDF373A8C82C0A31E746736B1809AC3749441A237B92B4C2697B8836C07932F4 +5DF42810247CE6034E6499FAF619D54758BB0FD1312B56614197D86FDB46F03669ABBE50E95E8EB6 +E3367C1B6D7741A6333680525916EDB853440EF7A7B380434F578A93A2855209D838F69C6280AB39 +D8D8572CC6BE76B4E336CFA8849E7533F398428D6718608BFF02B9A2ADB83B09B8E0AEE1224060AD +08FD86F0FAFF18D5CC706C40C0F254112F224DF5A2F3C3DD34327F3B241C3694AC8F5BD012416449 +603B315A89E97C9383C17EE197728F3B924444F821D7F55617FE54BF4F5150BFDE6683CA41780457 +D675F78F2E82486B677A66770AA30EFA0467F269C7661155D3EBAC45EF30A54F2A29DA89994F3409 +E55D5DDA2BFC02DF97AFCD5B1DC52F828333A15D41112FD0E4A94448C11DEAB0736EB01389B4EC9A +E32062010D8AC92A6D01D17A18533ED0CE08C55EF9F66128164FED71770E74A1EE0554B64E1CB2B0 +517E8C37C3CBAC259663562D4B39746E6C3E2B434B4CCF0FDFA318884A7DE39C3AA92EB7518EF475 +E4E94D3AB7ACE634BAD97A26A5D2927A6C35EE2263187DC8C5636FB83B49087502656BC85C8B3DF7 +6E409591E15C609240241D87377F89250E3AFCB77A0950AEF5BFDD585E274F0965DDF9816791F905 +E69BAF38153CA9EE2C3B2C6AD66873862164003DD123E9A3EC535F2F7C85F410EB9395CACDD7C813 +88B353C623E45CED663AF3D3E027D93D3C03F600369202990A2C99D92FDEB129D81A71DCE0611F52 +4274D622209F8979BEDFF2E25C46DEDC442E6681532B9CD9918E715629DDCB11F31CF9A131226412 +C9E4CE3DBD39FF7D01996FB69529B3B429422EC682356E03B8888FF1321AAF5494192AA4D8244D26 +B44129F1D6CB59BAF774D9B15F7B22480DE8071F2594A7036CF835157C1BB18F0558270F56044E76 +F0ED3E62297EC3B01DBC9A3319AFB14B021DBA27179DE1224C62E8DEF26F3597735C7D67A938A3BC +A2BCED997B20E8BAA62F46F58701BE8A5E3769CF5AA130607A07633C80D34A56EA85DA0D5348CDE0 +F0D36EED651814805B6EA13B93851D6F5C4AA1D79DA6865A7B2F1919D0C21C927BB5A76BDFC519A4 +1091CC502EB88B692A1BE81FCF70FFB62EA3863ACE080A89CCEBD9A5E24B808AEE04DB5946236D8C +77CA567DBF7C4235F1E044E04950E4061981F33439AA97C9F4C4D53CA90F6D38C3EF63CA97649D8D +7ED376D845103575EC210976DBE33DAEF6BD358BD6014AA7954418096F953E4651A4777BA8503DDF +2821C7F29680C0722A25B75D4AE92BEB3A83D1BB1EDAB87C1E9B619D1E90B8EC28AF798FD76386EB +FD1EF903D88CF50FC988AA857618D962BE3DE6AC85B879526470DB85328B3541AE2D6E679816D3DF +0A89A917106FFF662574E6621A7B33DCD1394776DC711D49EA83E75923D5337A8E5D8E14E2B6E418 +0BA2292593BEA06902A255015A80872BBD3C4A27D679028C886E49CE58B8EBBE886E0C13145B117A +FCCB36F1E3230CCD9DCAA1E0DC12342AE81B4E59D51624B5C2153EFA274289CFAB0FDBF3F9E85FAB +DE557413D7622AA4C353A40A57202237DA28F902B22753DDCDDA0F3DDC942991B1827E79CBBB69E3 +FA6429E71F6F0494CFAA95991EC26038260F972281AC0609FDC5B03AC66161C9B9838ED777ED41B1 +7C41E137D1D06FA5AE05008CF44DD774605D85CE19DAD12745D81E2E86972FAFD50A4C7A2B2BE0F8 +FC0DB0CE2362 +AEF1415C68FA0D628C907C28090DC3B08C6450EDBC56F498CAF3EA3E71556F851B2E9A0406615843 +6F8F3B1656E23597F50443E44D657BEC320AF401B6060B60A51E14CCD2743A458377145D59C60846 +1AFA8C02B56D7CF0906DC9D49E6B3C986ABCCC69306AF098AB4D58D4B2E72D6C6A75EEEE9BB709FE +7901B78CEFCB7B78139F91E01D95BC5D2D269E21ED76589C3492652AD426249245632A837C9030CB +F72CC754DC03254417758847F9E6ACFE67DB3CA9023E53F11308933539F14C73D8AAC4DC426DEFDC +872FCB42C3956E68660EC41AC7C80563958DD157253253050262C15D715BD80B361D4E929966D511 +1B14AA92F73B7CA90BF5FC4E4F0F2FE93AC9403EB340662420F8299949F07F03D161A2745151447A +432DCABCEBFD61719AF8DE6475C8340124245FBDDB1BAF13846AC79ED96881F95F88236398674C0D +32CF600054DFA8B3F6C6DAFD4A1A3A856FEF65D1342D81E9A4D6C9067744C9E22F22D93D37D30029 +7BC2A18AB52AE0284C8F4AAA4C8167FFB7BACC64953721D0B5E2A888048A2D78A7F27B892F39F3B4 +6B6C93761B6CB3794EDC45FF98916C0633E96F6B19AFE9448951D700C4581608338C4239FCF6F3C7 +7F1F1F72184E6CCF577D0B55F2F9192B3D8A8BB4BFEA72FD7591F6DA8DF98A206DAEC2EC020E74C8 +7933C64DFAD418EA527CBBAD90FA5817FBD8219456FBDF61A61D00E471C90F684A36E65EE1A689B7 +7A78EC949695C9416D202E36B6E856C9D0B690F2B498ABC71AA0A1B1ADFCC74241A6FEB5FBB5DCE7 +99D3642ECEDC5996D575773CD1F9A834F45981A6E57D33288920BA25DE1485C266C7AFA537C5B12F +A5EC0F91D3F16420822E863F2DFE710ACD3A461135CFBB51A1535CD58CA08A4D1BB463AD282638E0 +0DC5ED8FE87495BBC882B977A47173A3690633366E2FF476A5BE2CB41F581A091219E01F62C61D7F +2A8F404DB3BDD6B54750ADB40A353A38EBBF9F8AAEFEF498BD25454066BE35521279D2A309BD5FB8 +65C0D762A383ED6576B80F9A106112726DA0993FC1EE7AEE8E04DD31E3870E1FB102590AD09863A5 +EB0A7EE0FB7F4B4B7E190380262AEBDDD90B8F4F62AAE2EDA67563F7CB9592A0F07C30D1E40D3FAB +2CCF3EB51E1DC713AE4DA027EA88C6777187C66FE3F639C0786EBD5A01AE3ECE764008D496AED635 +4506F6539342E24F1C73D6F9CC052163E221325C6D689483641F6831A3F8B95628086F2988B69097 +D0CD1403D110B64CD0D3DCA9F88034E57C0C1381A340F1CD932F151D93BCD396481BF7D857689C23 +0D93BC0CE074BCCCEA95E347DB632BFCAF48554D03F1D3AD8C541B635A2DA03587C6184506DE5091 +92730BE6044A4C5A43903ADC54E52559A14C02BF0B4DE844A97A4D96DCCFCEAE7DEBBA6C2958FFF8 +1590B8EDF368B0949198597D4A98E4572533DB40113C8C7AD6D9E517525515146EE0926CE33F0371 +228035DAE80282228AB0417BF51510CB2A99ECCAE9E78BD24184EAF4C350A9CEC46202B39D3BE143 +1F968C7DE1660587151B399809DEFABF61B92F35648B4B824AA904615A7A134F497097237581180A +20D069AE8BF033168807391C01F78B99B36EF59EA42EBA3ED9050B605A2D66689CF901668814825E +FC95ECBA716AE715E00685ED32721CA3D31941FA62C162AFBDA60247CCC67E2EEDC9AA551D588F2D +166453BF87C83F98C27DE686448A47D7493AFFF6B83C229789437681B43502073E1A460F13C33CED +E81C0D752D3B0CCBEA81BE9D41F3FBB9203D9857307876E17BD39174497D87E8ED0AB047A1ED7380 +F2C6DEC4E395340EE29F66C5FF3F38177317537C56555DDBC9BA1ED2CF5C98D07A498E4B012A3C0B +97BCF66A565684E2854F71DBAE601B6767031E16217AF53C9295F4FE34756F7E4505A89C4928ABE8 +99B5A9D0311E419C47DD4023A87277898A0B583DC13BCD9642CBBAD33F900710E10B1F90D446C31E +B94FD86B6932A0D8259D02418D97E8B9BDA5AAD310BA3D9E6AF91D52021BC56C08ACA9C13BD1BEC7 +8E78403447B26AEC6DE8532386B1B41D844CD38A59529E55D882A1FF4DC8A8BCE11D943C082F4409 +AA6D6D8C55EEA9C840B891E327D54C8B81FCDE37C00440D21C3339363A8452C47DFCF22785E5034C +C0179810B7D28D2B5F6755622C3CED8B815321157B421A411A860AD0B9DA396306C94A902BCA5166 +91A95AC3221A7B3DB1C9D7BA44A8047B1AF1ACD81876EC7E7CB149F2A4E4E9792551FF7C5480C048 +2B6CEA01FD66F6E12699D4646294282DC51F17F363ADE8AEF0AD47A731A7DB098B2B0ABA0412E43F +90F7CC7FB9AE5CD47B81B40D8ACF50BDD315BFA5AD3C6EE4DC9EBD2C468B3432E91615912038E6E2 +8A75489F8146C15C7CE49D9CF7E75726C82A10CDD809F63A40C9A44129CD59A007001DC9FD021F03 +4942094C0ED3D543C387029278CFF1F94559E013067963764F2F9D5E57D8901EB1859640752CCD1F +2DCF888450D2B62649FE14D44703F1A9F07D063DA2B2F076BE9514BF7768B2AED1B783A3B2EB8198 +36D9DC09AE6E0E837C967D1C3E7F0EE3BA78142B4356A5B92AB2365D239F21101C9202F5357AE5C2 +FC9EE978EA057EF9BF7BEF7F18EABD77D76DAD7EFBDB9B2CF050C7AD6D74181965EC39F12FBCC10B +2A25F764D25677E95BB101805354FC1BF82679EADC047D340F81B49808DC200D068B0A2B1ECDA5BB +E693F1EB43E99B2CEEDE464CACDEE689B37A671288D49B067E554A1CC632418256E8C93184D4159E +3E8E3EBAF9686F0EC32DA9D38536269BC9A08C7C128500E3D7871372D57148C40C6582FE738CBEAC +6297AA4887041B478084FB31DC60BAEA1FD1061F9D19B306EFCA3D17E8C904E3D628A13A8B364499 +92CEFE51EC47 +79722231623BC76544D46A1E5636FED80CEC921FE2829AA73EFA1438CE407C45F4B45B5A444E3698 +70E5AC70004CC4E57A7F65F23179C0CE5DE84921BEDF62F18606FCAC5CFB7A70A2BD7679B1297BF1 +460A6D25FB84038704740A54190C071591EE0B693386305443A34D8B4BF14E9E0C54585AC3407143 +CA27200FBA1B407692966F23D80B04DB3FFB124561477FB2CFC54F10911B1AF4755D6877860C9BAB +7BCAFC0FD8A7F79D551B2414B4AB96963769E742DCA2BC55F240A781601053FDBA0ECB45111F7946 +9800C4501622755650886F748FF4B9EBC72B58BB3838A4497C74D128074DD3D5E8A2BD6C2C2E3121 +0D9A07BB91E26FF090763086EA584757CB77E94F4BFE63FD5E699713C32AA25B32CB29AC3DB4F8D8 +03EDE262C4E5076862E0C69D05BCCCF61F09BC442F056E533CEFE04923D188F45020FEB14B7815B2 +1D768ADF0F8E63A003137F3830442A701A7E641302A0F1F1ED0ED3209B235B28BC3CCA4AE28F738F +99F15CEDE8011E3DDF9E44D0A450BABBEE7B4F410A4762E59CE99E66B54CD653A5DCD89FA90C3D39 +908D07F09B7D44546FB1989DA08CDF2CDD5E3A958B7F9A4ECD9260142332271697949D095032F0AB +7A45225D1A0E9BBF6F2AFC5382A39532222E257E2536E6374914E399C4AA85CD732B4C8CE0F9DD06 +FAD8F271C1E145BF96AB36BE06942C557B31D83364936C1171404887B4D19C65D705E94B474855E8 +ADCC7FED54EB9FB798F376D8179F0F5E670637300491101B2C44DD612F8A8366C307BD87FF1D683B +0EE536F63BED34DF0FCB15CED4675D8351CA515F42B694B3127B1F76B5C75356F60B40FA4ADABEB9 +6EFA5425382DF5A39969F33231EE1017394547ED01476AD72251B5A03DB70B74783F3588A64304AD +EF560C9390F43FFDBA811321FA96E21985876C102903F1818BBF497B40E5DAB70DFB038C83F71641 +F67270279CFA457B0B21064F268C16A70B6576B806F62126AE3799194060714579BF68B78216E57D +D0EB6A4121A953CA3C6588D5A40C763B81316585E1AA970A7BA244E1E87AE03908479FAE38C0CDE9 +A00AFB559D0051E3567F87A5A68618B2C5D1677CCF9F367B985B9CA065C463183B6725E75F2143D0 +EFB8A378542D52233D648636274E9DCC36E4B56A06D73184E4B3BB524E6D31EDB2EFF962F9DB4431 +7946E69592518113EA3C36991F922BF4C5A9EAB57AB9B9692BFA246F7C21DE81259120B92C2D31EB +F2ABD1C1AFA6008EEB51E25F75AB9EC49FD5968539E4254E5CC83AEE42DEB5356A64E6A40EBC436C +AA67419D17513BCA16E552039C0D2C8A27FF5DB91B78FC99382EBE84E82122AB4685B8D7657198ED +EEB5161BDA013703F912C132256061A741C32E11D30880F7CAD0BD50EEAF1B95A9C8A814B887F372 +DB5236455636787330C1BDF3F537A864CD231B08F2165D9F380963B7B2BEDA9A0BAEBDA839E8CB09 +886BFA88F1943D14991DD23FB149960249EAD86C5D3CB505E22C8857080C9EF02C050A4CD035BD26 +5F29675B6960D9A68C9FD605A04026F92DDFF687BD5489ED4E32DCEC9CD701B8F95CD35017141B3D +F6192AD935E2575ADCE03D3729EC2E499D688AC8041C114825B2FFD537A0F4A367487166B356C6B2 +C3DFF3E2B9C5C11B86178EFAED6084AECA3B947CBF86BF82CF0C156F51244D8F47854A6AF14ADBFB +1EF0387D30CE0C28C75F95040A4FDE756D7A468E8ACB5CDCAF12D764107CB0CF60631D7F997B7666 +92AC1234C1D10E40CCAA72FD7FD6FF764EAB5ACEFCEB798F0417EC29D718487E28C6C19F8D5D9354 +148D4B9876C03EFFD62724A097EE6389449C78A49182278AF54C0DD370555A99FEB2C0620BB64E4C +8D1E4A6989DEB48048A5A4BEB75CE04D2ED56441D8F0BFDDCE02EB734AD86620EEF1B6E02DEAAE14 +5A2A2268F95EAEC11802A535DE892C8180E0B82BA09B2EBFD7A6A1D8375957A2011F3D979DCB9AFE +8E21ECC8E1CED943D006D7948BDA8469C79548CF45EF2031465F5BCBBE069A15AEA3596374ACFBD6 +03349668111C6B6D56AF6B9D06812CBA6C1B758BF829969C1792698FA978AC63E27F31D87B7D0FD4 +C67B35E02A48302E7FF1001A1CBB5A44E91E2583E5125B1F1665C33D516A679D8D2B22777B8D7806 +6DCC86D31272847AA9D8FBF74F29B90909A062F9CB40EAD62ACDB7B7D7AD6828B22F19B52580CAAE +8C035EA59B9377D740A15B3BD7FDBB83823E3D3BB0D34B116321D23E3FD119C491712F8E85E34678 +F4966F36D7A9C26110C686C0671643D69D20C82A5A20520B7B402AB1D5103D408599890CF04BF2C6 +EB59B1C60B14FFDFA3B185B0D52635B6A1D1EAF68933F4547BD9C566C8F8340AAAD5674DACB7F525 +61477A447FD1810E8BF3C740C7AB13179D397BC25B178EA34A2CEEBE0AB02417FD6D9C0F70EC2C95 +18723BB33120FC9355A1387191254C051D936938D4759DAF3682A94B666B9C914265C1F22CEE1F43 +B6B442F5452F69FFB3D57797C2B40FE4A410EA27A0F280E795C9F7B24708822809ABF3D35B758F9F +19702BF1FDE53821427391E8A24FA84EBC7771B63AA9C01BC4DD76DBADD0EF886D7F57B99B0FDC8B +121DC712AC3C9E63231B4D7B5D3DC0BA16F3F753B1C068E686A284CA48D2FCF9344AA585275BE38E +1DAB0744AE1B890792D7B1C26AFD2A6CB1E90C85ABF7D8396848B3FE24F76CC96A11CE4226D5D5DD +9A42190876170A66543D6F1F66FA0FADFCF39E0348005608E37F5A0080ADA972A43F7F70376044A4 +A380925AE30CFF9B1B11C012D6A8FA5A1592B35C67956E8A4EEA3D8CF58BE1CDAAADCAAA92BDEAE2 +91715BB540473603332ACB5A78C802D24627952A498A1668C8CE75D91CA836074901962910D27CDA +F30ACEE273D3 +78BBC290F0FD0B5B4B4AD94C2A3805ABD753AAAAAC4DF21D753D6C5EAE3ACFBA12C228923FA13D60 +BF7089633873673499D24F42401E3D79F77286EF812D3434CB7A39D91B3CC9AFD3810468C61FAC49 +62DF562BF73FF95B39096C8800C651204C6B38B7A5942198B0AC0F885C20D35411CA50E6C4DB8AE8 +A9C2FAD8F2A6CC5473AC53E69A47BFEEB010B4D88B09572BD260796E8BD791D8ADAB6D3B07EDABC3 +506ACBD98A16D29E11436192B730478BF993F8F7EBB2109D123EE9E2EC7848E8181C807082C0C230 +957562B49082E3BAE44226A444F03C6342A55991FD432DA52205D58C3AC9DF7B48F8911A162702B7 +9DDE61D1431E68AFD49C08DB7AFE13BE8EC297E52534DDF2CF7E0C14186ADBA1E8F5A27A4AEF83EA +D55049EE3702FF27F7AA36F29F5196AF03E32119E6600ECCC5E7823E97BF364E87353B39064859A0 +56E6AE7D45760A90F6B355A10716B720943FD22E1A2C2D2145A2471E8B50964AFB8A86129B21B7D1 +3D6C5D86DC12540BB8D3D40BC6A1DCB8D673D1F4391AA49D041CA929E009AE3F51C95CA709E0C490 +152F9BC54BB781097D0FE8BA260E5C93D7D3A894328CF35EE585A38493C4667665895DAB10A1D35D +DB36DF1E7EE767A8CA4208C6FFB100F2D59813F539234E0603F564406941FCEE5EF8809B1BFF0970 +EC6891DD94C2B57C2DD613374B505882C662F47C4D3B72039B11ED68F2FC2E2179A6ACD2A952A4A1 +05E117D9F121FDB1FF43DB24A6221EBFE83EF2B2AF0AF9E8447C88F5057DAB9C8CD9FD9EC32E7BBA +ACFC71D1049AFEF297DD94C20BAC0B1B68D3CB83DC1832DAD04085CEC8BDA48E1EA8A7122F8406DF +8A498A60168FF099B3E711850CF747AB2C32B9B3DFD1E1BBAC4AF4C74E6161B3A9FC4CA9376C10FC +D72B610338B90AC05A2753624389743B1FD08CAC4782E51C6DF35CEC4AE60013F07BF5AFD6E7C8E1 +F9EA982F5E546A776C51D91E6FCBA92987F74374696F3FBC33EAC633575BC963EB1C4627367B9A92 +825414AA41B32621C0A9AE6689297CED9F060412978EF0BA9E204F5B3A7A3726A6809EE7C900BFCD +4622B940EFF02FE5B8E8BAEC88DE64DA934139D8D86C02B3E7555734B58DAFF0E01BC7F243F1B627 +6DA53F1F61DC547227E052220F927BE052CA1D0152A59352FA41D3222208FEB372C27C0EB57C23B8 +3AE9D0AF196B6E31A5CDA0BA946F86C65F8A8516FA1AB12A0052C5B0B172488B3D88E9B3FF9AAEC8 +34CE3B5A7DDB088078EB922A4E8F35C3DD2F9F8B090922AF5495384CE4633AAEC5FBC676ECFE8F05 +F87D91737C1FED6E56D117FBF15A2DDB646FEBA1354C4B501EC44C1B8FB2FA80A10B79769851D4E0 +23359CD5866DC85680A8F4A93157E7953F61FD35B35735DADBBDDD74A137C000F0511809B8C07EFE +4B0450644803F78EAEA9F9CC3665554EB35C39236E601CC95307C4FE08682A8A9967AD8CC7AAF702 +BA8E50FE0DB51B95F69F070A6EB30B429361F35216955E36089C9747572824EC6BC6E26A0A4E74DF +94D6AE2B49288A707F762AA813B602254282713D04D0B48EB16EC081D8D05C9307A3C1A1379C2C98 +AEA9A2698CE0A11C1119DA20C175A861634E6C83F1864F2D1DBB1DFC3BA808FC8987C1E19B784B53 +DD78FF2CE3A97C8BBF9A8D6E6F83143E2129146638AB40C06DCD9A189A8030539BD885FCB8E668D3 +A2FDB593EC8890799761FAC4F5C65465B178269CFB6F2A87B1EEA11B9F9974BED2EBA0FF92F08867 +FA6B92EE45A982FB59B150B52C84C02F834B724EB852B1726F732DDF3A3FAC8AF56B37EE0C6B0632 +1A6AA125E5A9692FEB2DFA986F0CFA2BF337C1F25B885EE7D76B4AA2738A260E9F80F66252513DA2 +1A8B1B2862A0EBCC0E093202428A82490B06842D02C56132A34A67CD8E0BA86D398987612C75D730 +E700070BFD804D91DD598D01D7947B2F45338325DA84AC3D6C25D74992CB41DD4AF0F2BDC84B15DF +F6847681F97CA2A2392E35EE738148FBD286C981AEF187AA1CD669DE1A1B04E4EA2BF150210BE95B +F472A8CE08969A0C621EF6B3A4A894783EF428BD84E71561DBCDFF57F2FA8EB1174FE05424F62C70 +40ED4BA07FABCD637A4B4EBBB28416EC6F8F0F5DDEE6230BCFFF408FBFFFF7C54C3672E545F338AA +8F6C478DF13DD57BADF250F0DE1614611C4AF65D1C61DCA85FE75690E4875415B87AF923E38EC388 +32AFC7F86CC90FE61790C88C6A2E183486FC28C17A34ACF8B67BFC5BCF306CCFFA3BB7469973EA72 +99C7899328F28F3F61AB6A4984EFC057981CA3FFDDED7B1A17B6E34B5B693E6BC25EB9C503BA3CF4 +A7E2A07E702BCAE6A6FBA652A80FB5265E749D0674F3FEC634DBC51669FD2BDEC853DC561A5C19DC +755E12A9750C661C4DAF0257EF1F01946D3F67C71873C144EDF56A0E006E8449D527C21A592BD770 +60857ABA3DAA9B4191373B97DF94FAA973FDCBABE486072EC024F42FF7321D259E5233A71DA5FB29 +556382616EE3BEEF42668B6D2FD7A269327ED50F206A8D940345620E2D5BF285401E5BABCF2DB86C +5CB40C2717DAE736F4981905244678509EE9A7B6A33F5D844E8F894F1E2F8F9430B9FED33EDC58C2 +50B164C6FEC42054F833A31F2C74392596D397F482904E429EC6B084B1AAF27EA66273D49C15DAC8 +F6F6FA9147FC0931B64D04F4EEA2E095D613F02BE0928052A14EE7ED6111F2EDC1300868E1A38F90 +D8159FBE5B84D76B31436899723990622662DBA3071B83B97DE14A8C24F5CF3A15DB6203F9A6A0B8 +8F7FA766D1010F7BC20612A8E8F260837BEBC5734763E8EC73EDFA3D34AD252670C2DDB817DE6782 +47AE49073885EDAC330815D76CAB7D5BBD369FD39E87F92D635ABC4D674BCE02592A1A988302FE07 +DF0D5897F0EA +83D166B255D194579C5E467084D89783B852FF77688B78668F6EE87612602B1A51DD77D0999C781D +B34F2374D8AA10B62742EE7612B49F276138E2009AF6D605460CD5FB82E687215FBB3EF15C34EFE8 +CEE8FDF2106DC310F8EF470065396B91CED1F465BF56C083EE1BF234221D0333EFE3644D0EDF1A1C +D2499848FA559563442532ECBAD64C83BB999BA9F9830E08DE858D654E75B11171C5526E4B120FDF +6534F0FA97D0B9B24E697A299B654990CFCB7EAB2391BB17A58A26CF661A8199A7F5851DAAD79420 +B489739301C7F2E518F80DC44EE2FE966B4424107C519E950F3FDEF7B3E53E2450743B27B04D577F +6368CE2EE48299B1EB92DC09AB8F1E5F878A19C65308244234E12C9012418208D745095D3684001F +EECCE90D4B0A43B556711F2FC53F790304EDBF4519BBC27749BB9A4FA213B9759C6903DA90330A87 +E7F1408DAA2ECB72A04C8FD05B34A3EC4C00D4E487FEBEEE199B63865126FCE1345022BB94DB14EE +B24D70B8D2C0E1050B29D01988102EAEC173EFE3AD1158BE87E6091F3F789693E3D47361AC4C91D0 +E22D484ABDAA47A22BE37CC67C4A57040E9F3A77C139D0F9AAF47B866C6551FF4FDE563A0F2A65EB +252E78D14BA8D3328DFE2E7F7103A782C6AAC08A6BC4C765D0D8183263F35581CFE288BC2E7C710A +A7FA670D2680010EFA223794FDBDEDC16AB92FE4636456D476FAA52285EEF6E1AF0593E8C804D8C3 +70351C9BD4EC12CBF2A7759DEFC1FA7938CE846BED9B4AEC46FE846FD35A306BFBD9AAC81B8113B7 +C81004BB67A0B576FB65F201130C5A3D0B997661CA6AA5F58D9F7374901846D2BB97BFC9C5B4F457 +A8A9AA2EB7BD3414F91C8DAFE20B0635CE4E4C547E6DB7FB9D87E92AA581F2DA51B6354C19169865 +0F59DA5779B3955939E426AEE06E7F030858DF0E0CAC6A4EA4F23FCBBACA64D9D0B5949C31FF649B +08E0C81E8230FA717B8B890F3D210759F8117A53AD2A7130D995626C2AF54763A125D242DD9C8C0F +605ADE7DD5171EAD2DBEA80D0D7964F2D4BE2AE4EB5152E4D05D33D2379BD2D6B6AA55479A7BAAE7 +A317D251EF50DEF09A372EEAA46BE4D77FAD3EE3680EC4C92D2855593FA0AC90E7574BCDCB3C2E85 +26334C2F5BFFFCDF0D5C91119E1122E5619CE88E2B8B94A7F6B4A2FE279E21FABC478411AD876CA5 +297A3B2AAE87E24289DA4623DC714D825670B53F68AF98F2AF32DD729D246D00E64DD8EE74FF2B4B +E4966CB321F4EC55412F56F3A961B94E53F3E6621F9EAB56AE2D49C512DA6EF736CF4FF194A5ED36 +C4B91B0E14A0A7A22BFDBB5C1C1E19B6D4E3DF46D677183620D9C224C4150F082B80B65AAE23231D +A4FD17A90BC752BAE136E272D0C315F6607B429BD627E87E7AF8F145984CE3FA1CFE45917FEAABDF +8DA600882EAB3E94480AC4A7158B11B685C13B6631DA15301895EE134AE51F9D21E5434EB5876AEA +9386D77BF9A422951D5ED864F4725193AC5491EC584BC1B27675EABA5E951B13784A107516181697 +6BECFD68FFA7A18045E3E5E74A37D15D58B43DE5A38A50FA94381B75C2FFDC7F6534DFB37A09FB9D +E87BD538ED7A47312A79164C70C6449EEDC99F7CD220B414154784514BE30A6482C51C5DB4D10F9F +ECAD052479FB21FC90215F4FE4410B30B59763A09F1D1B553FF3108C75584F3E79460A87E770D84E +C19E44506D83864D8B11E140415A90189F1FC06F933F26F444452657C8032EBF6FB72B686EA80219 +2A43E805C2AC9E7366F88FEB9A892DF859B12E9A8C881C18444988E4BD8D5529447C09123E94E445 +548FFAD3BBD10553C54226F636E1E7996E837A75A5A47808BEDBAAEE32C5FFAACD2EE2075126F5A9 +CD5CC6D8ABD0F8E47ABDE8F040C15BCB4DA036D9A050C71EC5253850B420EB6968CD78C205FFD5EB +8812CD55CA45649064985859FA9C070EDC916B416CE2A5FFE31DE59821F4C75F1ECBE602BC194960 +E594EDDF56F2898773CD458F81FA0524CE2F0390C6E348970C00B421E93C45CC290A3E9C375A4921 +4F1246DEEDA8413F919A3C09BA9DC6F545DE508D9F03242176BD8B43CB8C7EA5A919FD5ECD58A0E1 +47F243DB61DEAFEA26128281C6B226B32D0DA215D76170C9237C9724F870DA705EAF7AECF74DD6ED +8B3E51BAEA2F452789E57F99D634BDE57CF5D3B9CE66E0BC2EC48976E79FA1F269DD2923004D01A4 +7B3A550A7E8CE83B2C0084EF012D06F6F2F31762CA67DF9F37FB8C43BA2211BDD957A34FCAC8ED07 +EB9A0CCBFC36024F2D4369C1A11563882ABCD6AD4995A05496EE3DE7F1A0AA5C47C4DA65B4026F2B +D998E0411035A690B4C8326FA92079B0F0C1F07B3B0A9CEB45DCFA0937A3A784410EADC602F80321 +90A80C5DE9438D98FC08E76B66395285D9182D438C483CEF9C9EFDA0B9600CEEC053A7BBC4C5C960 +0188BB1315614E885C7DD9269EF7BC9EDC5943F4A2DBA9B44D5F076F72D8ABB3EBCC3DBEC9A05554 +F831593BC4DF806558FC4CE728A81D566EEBD84E6039ABF510D80EA342E704074EE896F0C4423C3E +585F468F6D7701724FBB7D778FEEE2A8031739FCED9AF166E826AA8C068E466ABA298D19E92104C4 +BB60C89F9CDAE30472152AA03173B372766966C85E2279D34D9E308FA838B4D050446D60BFE2613F +2929A0A1CF0B65A0C04BBB951A317C1D5CA49025C84C01FB478867847FA16E4DAEA1ED3ED32E0CB6 +8E7EF4949243F75710636BF394A061D20DE27DC80F94AA2B1C325A9D80D86D6103044E66272DE8EA +B37C31608B7BF36F4CE60F1279FDAD5012383284BE67CA77C72F063E3F9E32C5675F737D3800D727 +50972DB47CAF4A9249B686FAF6DB0D461E64DB325C1A942751FC1F1D22335311215620B9D91817DF +B2CE3C299C18 +5F50E9CF9850EE5B679CBB7E6328FFAF9DF07D433327008B8B80968AC7ADF9CC53007DCBFCD464D8 +0EA43974B16B0865CF5DB689E536FCCBE502310AFC05963E55B165DDFB88D6D9EBC2FA97946A7D92 +7011E45FCEF19E5B7D66C98C265438B0636AFB1E1418956681FCA8161133DB935269A2DE0D3DEB18 +3501AF97323A567C01A6C2DF50D037D6A993A6115F93A191003F89B89FEF1AD76BE99BD82EF51AAA +AC9FFFA3241CF285EA10DD032F11C107DA8D462196E460FA7E5E5AFFCEC1C0FC0A39F8092628D0AD +AF02B2992345EE3CE0479A4180FE483DFFEE435DF7998EA0AD7FD380F63197056D03CC6554BBAE4C +CFB937CC991A989655899A1880FF4AD52CB17377D4572D71CD5239431A73E13542303A72B77442BF +D9C9B28D93ADB69483A013B3421D26822637F2B9A26A4D83D016743E819819F868C057F337A94C15 +781EFF95058706B8D4667477629EFE47DED904C039142DAA750BE22C801C12FA959ECA507B565C7E +760B25466F1E99F7979A34CB9E92DEF2B4CC13C21C7138BFF17B86C4B388D36BAC6402DCD33B5427 +5C1AFDCA44538AFC5469C50D0649FBE1CD4B1BA08ED9AFB75AE7C7E370B8457511FDAF01DC5E08F5 +3EEAA95D18E4D8D6EC31E7B29C7C484C47DE6B846F716F423272706B26CBDEEF02B806D5759BB112 +804F6F62551C70D398BCE805ABE9D3EC883A4A46972E219FA44C16FBA11D60D24F7F978E787899EE +B38500F13B7E4F33C37CB34EAB2AA32FAF40DDF53F3EAE0DA401DAE1D4127648D6D290D3BE1822AF +70528B50073ED45DA8B02EF42AEC3DDE19228CC68585FE4787C7B8F89ADED409C1FAE497A32808B4 +4E31D17354B17F55FDF5C587D9C71389B148573976FE2A14A8A10D9BBEE31BC15FC2B001AE293A52 +BC399182D3AF32565304DAE08A45443EA4CD4269BA55D9AE2FE8B1E1AAC764B86D09E4751DEE3CFA +26F1275A6617487DA84095DFAF5755BA37CB21DB5FA379AD7CF873035FEEF4EE216B3A6A38F3834A +F5B758DEC1FFA2C4E862CFEC2A62CE0DF03572FF3E888AB1150787428807240C9461C3D029D1B7DF +1E5EDBF3679239E08439444B500CA320C5A0B045D822FBB24ED15F3E86A8CF1553F00012A0DA4948 +D6642374CE52D01BA61691D7B428D7D2C31BF2F0DA5C7216C5A79320D6FB0BDAEB6AD53F4315584B +37468C33F81A57EE11581E55233EE4FF1927B9FDE6CB602D58BF84D0B6A43EF38AE5B2FF8D6B72E1 +4B61269D4912A7AABFAEEEB1058C5524B50ADD902CEB6B2C9CA3C95B7ACA001BD2CAB8901740DDB5 +C1A82A80AA47376CFA82DCB3C30CF9CC4D11C7BF2D8992FE2056CDBD28118CC4074EC17B0C278E6E +8B6B9F1388520A25045F524D35BD608DB22136A00E77B34F329D74E32A2609E0541B06EB532E9030 +B6509F5DB2EF75EAC02733A2950F93E20E8726475927B0CD2208C78EC4617A78AB9CFE616EA96CFC +2818C70B358B85B35BD49379A9FA759C7B939D1BAF77AAAC242D468908453B9169BEC99ABC56CFC2 +0649EC2CF3D7755991DADD96151065798236E9813D7E3683293C9240BAB6B733B215D7FE191837C2 +04038ABE69CD0C39857093C65625C5C5CFB72A34A32BA3F2F135E99989276198740B4FC1EBC5A1C7 +6FA67AC5E11F3A528686C60C41AAB67064F51B41F15273902424A3950EC5BAA50DC0C4909EFDF405 +C95C460A1CCF5D74C02F9C4E9ECD5886B5B2B060BC2F2A92D2AEB7986A5358EC6787045CB118985E +387E464EC5256A013E3CB1268BBBD3BB635D06E4CBE69FD7CEB239F9962084C3D1AE4EC9998FD644 +E8DDD45724F9F05DA08C09CBA06E54484EC05A20260448C56AD30C79CE75F2F5568D274E8870D94C +1F94C955259DB447719E6F22BEE91CD1ECCDF48F214B2BBDC995875D6CC5EA459C5FB861FB66B41B +7B30F82F57DF4836D86566849B9EBB33CA9CFC25A68DF08B0837F5859F4E1BF83F4F240E9249DC12 +A0185C688367516B7C8C8716690D8C9F158D04F033075C4B01864F6A99C3F8C3F34D73C21739A058 +C2BEBA9B53088F149DE6D69F27058D80079C601016B175E74C3CE4D94020FF27D0AF801C63AB8DB6 +2EA603C86006E38C525D1400499E291AAC3EA374D08AC22F138261860F5F9A29206D182ECCD19F7D +684B1494A72F373ED9A9250E5E1A404A4F8636B6023D9D5239A565D9DDA89AAB570E9F025EE3873E +86D8C1516AE01EF0C6C5B10F7D5BD46DC8C695566FF972D9C7671765A487AE793EE58855E9599AD1 +7B0DE941C83B18677D6CDA915ECAF4C414FDB4B0A03BDDEAF0531AD795FC420184F94F43FB897F6E +D8F208A3981D2E3F20307073F3114096CD0779948774CC0845D486DD36CC2F313CCAD625B784CE19 +6A7D72747928E574C65661720E8DA286AA1FA0906E22C0E882EC2A68E307CB33BE6A492160AC5993 +0C8C3493208FBD7620ED68B69EE33A94705E18E8D45F9432A762ABD44620CF79EC28639BB1A099FD +D6BD5F7EFAFAA8CEC0B58506F9CAA553D31B297C60905671EE752BF86E5506B5C571279398B1F48F +85F72768C826B24A38AABF5F132CE765BB11AB00075EB3968494ADE1F912DBA3E0B64CE7C06896E4 +6995331170C8EC3A3AEAFDD76A90283010D11B16B198C001AD2ACD03F3B33926D23D78DF647EABCA +595C8C0743709545E062138233E25F6CDD01D6C22F6BDA2C11168F593F0084FA3F66F08E0E440C9E +9CC4C288BC8CD197150A44685FB5FE10BF35574AD4959EEC9B99E66DFEEF39DE865E605B20AED9C4 +E9BB53DA6BCD5B539B35C3EE99AAA0CAF525031B5F8EE7DF77FAA20A0EA9BCB1F4761F9E6ACE3EC5 +7449820E21D85DBB85FFD2D824E528C99064F815E39E8B75F743021DC3A576267759EABC8D5214CB +47507AACE63C +98E13981BC56DC0203BC19407D07BB99C638AC108FC252A8D47EA932894C75CC8E95CDDA6B110F1D +B538471838D9D3B97EB3FC066651C071AA94312E53B00020D119A4797F801894516EB9BE865DEA98 +176B2C9DBC1F2ED43D24B57862C96D9CA444E813099DD1B70AC1498BE79DCBB8A5AB65BD18DAB7CA +0AD3037F245F46A9672F629D1D1307A16131A92912CB38D2AB485BB3355F303D9772CE3493A109FD +69A7E17E0B7A8D2275047C1AD75FDC3BF1636186685CA9595A4868954548A4D487C06EF7ED6C3302 +6538508E9F294B4712A77556C481E4D085DA599B92EAADC28333D1EC07CB52C9D4D6BE9F63B85EB3 +DB14402C8DE9AFF5397564BB19E76F6A3563E91EA31DF5019EA89DF7EB48BE090832E52FF0F73923 +3B859EB895FE206044163D737FBB9B45606D23FABD8B384F28E89247839ABB13BF11203030F497CB +4762B2F49B7A151BE509CA93CB6E024B974E431C876BE94456B640606A577B3EBBAA7CB3EE6F6853 +4DE1A47AE62E5152F0C7CF14DC6C529E4364EA6AA04C73CEF66BE053148078113EB56B992190C553 +5D1247D734D9D29F08E7A2D00BC7563BBDB23D635BC2DFB9516C19FD9083DB5A0113B5F6913EEB6F +392D5DE5E7EB31D9ECA4B450A2AC32C486B06B805E540BC3AE4C6399539B51AC2919B43BF4C696C3 +DCAD7958F3E6C123BEC6036275B7CACBB1D52768F9D2958C593BA5C589F22D6F67E0A1FE1E6DB07B +A19FD6B78F2831F2348BD14E39F4EFD02A3E58E6B56603FD78F45445D0EF31D0929DAE4AABB92FDD +ADA922E3579CAA14D931B9646CBC76280E5C19A66BDF5838D675920C53D897951CDC906B9E40A34C +4540C5B7C5563CC7F88D2F959F7037700132801BA5D9288A08F1E2EB6680F9F4131282EBD9ABA8E6 +503F7795E3EBC1161B798158AF738585B0B3EA021E486C08AE2C46841C698D9D7D446DBDCA852BC8 +002A41FEEA0D3B081817FA861C8EA6BD8BEDBF2D33681B25A1E3B9C7622F27185C4EB64DF2BED4DE +A2B3219221C91CE7CBAE25BA998AA9391C62356B2ED54CFA1D7E495449176DD9AFA541D2F2B33280 +12D65DB9BA6010FDEA4D8FB8370DFA643046358FFF8EB63209D17CBDB0948A9D70A038816180805F +5C6A3F19F183B1FAAF63E6302DC4DD1EF3AC55177588B4D6C0F04E2E0893772FA70CF772543A750A +0769040FDBAE1D3F8DD099983B05792F9897F8D1C598E982C569B0105085D1C290DF377D9DBC2791 +4983FFE8BC7474CCAF7083D1CEA869C7DB8093CE279D9E1958C83102A7C474512A4EAC191D20429F +14CA2853C4A37C9E77D3F91C5C7627F89E61072329058EDA576CCFBE234FF44E1D7E60D04748B7EF +5DF67402665FFDBC5BF710AF95B2C87700081B4E6C2809AF6B729067DFCCF707C4CA74B31D4F61A4 +A14460B9F0E91BF886906493E1E7BDCB948B84ED69D08FCFD53F70EFB57E724377A7A5145F0C6D36 +3171D548904678C25CA35AFE14B2534455191DD1F16806188023D386B9255C98461D05A2011B7FF9 +92A6F299DF695B6DB06F8B829EC6AB9AFDF01B2A0C0804AEE0869EC4012BD322059AA1F7D25D898F +7A2182E3EEF191A359CD52BFA3169BF2D0A41712B2A8286B2137EB2789B2426EB893FC85F2C1C410 +12B460B66FEBE332DC695FFD58F1D08CBBE2A44DB369AB4F551FD4D05D458B08621D5E4B8B596F21 +9DE13D145ED2EC8406248599DBE0EFF5711F184918A345DA3D8CA7676D57002D66302218834B383D +D4DBF3C2A690D2EDF75DF1495D36DC30E2476B95B681DFEC0A415B9F4FF075792DBC34FD5A2B3DA8 +37902E104497C31C9BD4383B0CA3C259B3B169C006BF7510B4D3AC898987EA8DFD8D67E08E2AFF19 +EF4E4EB6F7506FFC98C65BAC2C9863CD3AD62F75564B754E8F78C5073839BEC3B529E8FD7C238DAE +F9A40824B3C2AE19F8B9BAA7054267DA5F7F38D59AD6C75E6B186858B0D09867430BC81AE1D26ED1 +264563B8F7778C78FAF37001CE246313F0DCB0F45CB6F115802C9E996D977BF4120D9EE4B47C1B29 +DF0481EE792B23A1CC3C01A2165EA8DC01B7BC659BE40F6CDD761A3F706F0CF586EA75061D8769B6 +8D917F91D2B50E3F52E5081391DF2657454AFE87E8A43CDE14C6CB04F4535EA973F8C4ADBC81B7E2 +F270A7CC9D5889F3A401A711FC0CA7E3CB2732A339405D0A2145DAADBAC80001584EAD21F61A25A7 +C7E0D07625C8DC89C3CE4F865EF5D3D8F6A4B7D4C931073B20C033E7ACEE9D881E5FBF7A0BCBBE33 +93DC5504DB888FBB426DE47D65300EF379C89FD9656BB1BD6E3DA65916FA65F19753500AC03EA3A5 +FB1D759BDC718A66118F9D648D4494F57AF3451971E043D201132CD68BD2B827030EC7B3F71DF9D5 +955A85082B1B5BB107CC2021F8E232713E9AACE3D55D3E3363EC2A52982F5D7EAFD5259C938662BF +85590D0E1787A5A5987CD1628A9D13396F6DD6F288BFBC59815BBAD75D22D48B3EBD91D3C59F49AD +DC79692AFB863C1E5DA0A95C16204260A2267BE898491502593CD21EDD0AF33831E5273E0E7909A2 +66F87F032C677FB37ADE9D7AE2F567ADEFAF1EA2C1CC48DF83CEB2F99F9852AD887D116E4E522195 +C15898B501430E138552D6BE47E9BFF92DA97DB4E1A0F9379C8BD76352B3F9897706B309386063FC +3684D44721C4D406E2360F821286F25DD42F579CFDB24E498DBB6333DCDB3D29BB9448DB8552EAD3 +DE472FCB44A05C992D1FAF12ABA790DA0997587E877924D8A9A75AAF85074C7488734642C601D248 +79E19D5E9E3E0CAC5AA37ECB05D130B2AEB93A5D14B5BDFA72A2CF790AB8B76696CB12C59CD9BB31 +AF46314A3D275431B6D6B7BFE70EF4288BD977409EA60CE5F73C574E3BA758A403722478735B8E50 +3D9A3046AA15 +DA8DF95CBB96E9208EAA2AC6CAAE770DAA36C738076927260D28C5209DE2784339F06E8FC160A578 +293E3ABCD66A8A2E50B4EBCCBCEBB2636AF6C570EB9E2615693D92DA426E737E4C77BEB6FDD2AADA +587211E4B408218B7CBC6DFC54332F8EB570A5C1467DC8E76145B8F50547AC82076F50B14EE1F656 +9AC9C80DF8D9E3C5251116026282213CA03D2EABC2D0EFF2563A078A0B848A2B785C3B80D5F39ECA +DD61EF80604470DCAC8EA58FC7D1B17A436B822C402440B10332422B872205907991334CBFD8A7FB +CEE4756ABAFA4D058A9E0876D5D5D04BE31F07AC64E49D2436BD70F565F9407E39F5072F372B55EE +CEDBEE76CCAFB50DA053F14D02F0F0694BBEB0C7B07E24EE80B3A713629DE7E958C31D4526CA542D +99F28558F76237392CDEDB96CD3BAB26728C5AEF416925616104359879A87AF8C53269A7BFCB53F0 +854C1BD131B9DE117FF7C6A1BA3C49C6A837D5842AC8709ACE5D9E56C399FBFE5488E233B0AFD75C +ADED04CEC8D3BB9B405A36082E947D465D4D462703F5E5FBAA44EC6B1A334E99559CBB145B799C8A +8082FFF02C013B07CE12027BF54FC6D079C993705425F08C8C6CF5CBD450974071F8A1CEBA85B60C +8CE590CACD726CA809037DA29A929F3910BE124707436C5EC36AD6512C56E9BB45CE9EBD087AF506 +2E5CE8BA3CBD4F0C45B65DFA5FC785C4C593B6F486B68241A53F5681B96A8D67885CA8C0A8B0E2E7 +F2D2A5FADE62841AF488B9E474B79F73B4469CB199F69B65480E4760CBF84337B53943C589E1823D +4250BC65A2A90026D9D8C0FED774F041F72A8D3F6D16AC8752EC31BE548D6E95E3FC9D36FB0AF88D +084C03C2E33EBE5C9F3C43DC285827BE1916D9810B2DCCBF9D37046816E94DB791ED19673768718C +89D68E9B7F67B93867AF925C56AD538C08B1725D45CA8A595A4E97673AFD43AD859A52FD162E5748 +359D490B3FDEA277BBA64108CCCBE08448907AABE10ABF7E14EA6A00B0E837B4E79C35C8A7E50A91 +185CC90C7AC8B65CD1C12B61F1E230A5617270489F7DDF761B3824A5A7AB4F5E11BB4C7C543E18FF +C22B4097639468212767D56D1C3C13DF80ED7C564F99AC0E0DB39CA5A6F0B209127B9CFB61EA8962 +9BA43C169927E1B3412EF40A48A2225D8991BF380D0A865317CBA63EE2BFE1DBD44A2E4779D2C5B8 +660C781CA3611E45526E4A06967A7C2666A96DCB6DB2BCAD1F7AE29948D5220BDF7952967C85BCB4 +D89807B212D07EF8EBE118A4DECB884EB93088E85D3711C29BE9F2533B196CE3DEE1FEEACF50E38D +58364F0A0FD9C3526E729A045E9D00F08F0A9EBA68C13E7853D812C206F3E2193502F2DE4B4237D9 +902C01FC626B8A9AEE2D77EB8AAD1683AB8FC5440EAC86A69C35A595DF1715680A2DE840693F81F3 +8F0F027C79E01C1BA48B7773F60D0632AE02730F28B2AECF2995C3178156362570E155288172B67C +B2AA90BEA8E4D3416F9D08F7018EA56072BE261AEFF5DF771570890E57548275F88DAF61359C1150 +8AC04BA264C4C0BF41594FB3757E6FA063EAB92CBC663EED4DA84DA8CCEAABEF38059A0FD531FE2E +6BE450BF0673D761F7AF974C1FC21F39805F0DB2584E6107844782E0F6AFEAFE466CA3D313CFC2B5 +BBC393AD065E0C95E5074C171256343CAC0F2E3785C4BBE767D88E52062EC3DC6EFEF132A5A32D15 +734E9B99803D81538999C3103BD8B35D980CC81800C9B835AA157DB745D6341252CEB1A5BB530A4A +3AABFF03AB2BE5408BF0963933FFFA23D3FE53EB84A7C953FD05E9FB1A48FAA2A250D48617E36B5C +CBADFEB6FD296AFD54A6FEC92801BFBAB6A708D26ADA58DC39512C7EB6B1F7E20C72AE82B2FF34C8 +4A748486DC39A8A77353CD678F23C13ABB91205743352EA3F3C81539942C36D3EA243FD1CA58C74F +39E646B208344FA3888EE6567FEF06D797B0D86E2FE0ED51FCBC0B3AB8F67F42D8C9C28B6695F8DA +9672E280CB259CF6BA313476EB0B3ECA555DEEE07576C35C0F46970899C30E691A0BBDFA657083C5 +1AA310921DF50CBBE408D1059950C9BB46F13A65DC49F15343E0BF8D08D765A57BF7B5C8AD7F89B8 +BA724CFFBA9FFA42798538E7280E8973890F571E314E82C763AF67C8C42ED85F53F8848095123EB6 +9E06A05D06405DBE30AFF0A51A1A249DDFE57FA76266BE651AC7C246CB04585EAD595373B79B872A +3BDA31F648DB14BE963058D31A74E0A617F3F849B3099205034EC5D5C5B8E84735391E4F191E3003 +C771DFD0251349002C73469EF1A266AB9AF515CE936823F61E38B41A6A0A39C082CEE8F242B29CC0 +2729C753D596A5D8D4A5948E61AD5B9BE2B0B1904E250C7E9375AF50638FA9A8AA43420A6AD8EA24 +843FD3F6AD0C20024CA6E3932EC66D9D21DA08B5CCCEEF562F40EFAC28699C9DBBE8DD5821B13117 +B1A70CC7D134153139B478BD8F8AB110E8BAE89B0147B2C4DB4B75F2DCCF0E684588EB5790FEC7A9 +8BE0F5D104150A3281486CD9B4F4BB57AEBCBE0FE0A034B84B8A0356C51F59750D39A6E2A2AD3C13 +D40EEA2B0DE5FB2417092BBD68A325688702269F8ED40439962CACEDEF0DA1C674A8017FD5464830 +AFB22DAB3369F7D474E95D0E408F5D56AEBEC26492EC78EC2CFE4F3FF1E9DD186CC03B4610B26424 +226859B49D47AF352248DCC201A0DF54026B01E4D9C0F3CDFCDE3BE421BE687F616E8B7C0DB30C16 +8E184AE9AC1884B86AA78965D901C547AD2A964C9751D12492A41CE16E9565BBC0D730EFC2CB2E71 +45113828AB916FF45B48F33FD22D6A6E38BBF9B48742BB746A75E71062B808B3324ACCD0A6161DA7 +EEF71FD827235E03EA8E07392066F298B45854816A0D1A649DB80AC62AA7AB9840217EECDED51258 +D17D3B0D0B69 +C47118E8FAE951BFDEF404AA6FBA2BBBBCE3A8C43745888FB5B0598960CFD544A57FEB8FC300FF7D +798B6F64AD2FA9EFE84C4913123CA5065C56B773DE680229E245880FAE124153AE74EB91D18B05A1 +E621A558402A29F8B4CBB2B336D7B6146E5B142B7DC7DCD83BCAD69E3F690A92094F4B9EC4538F49 +2008D0F7C22932B8A7C31F7636EF538B0F2C06DD67184733F2A6011D96EB11698CF0D290E6DF2AE4 +A52201E58AE7843EF435EC7A90F44EBCBF16805DCDF2E8F2F62AEAD9DF7D07CEC0F3959B5DAF481E +CE6672A5ADF95047737A84C4BB188B1C1C6BC4A9CE3FCF5CEBEE609FFD671C86724228A10A7006F5 +25D37F407DA87544592F9526D4FA0FA3F614F705818C04684530F2D76F9BB7C6E64FBAB84AE34092 +F45D3E248F94CC4219EF3214D9F09CB12711DE7C4307D35CE035152E885C5BCDA2DCDD13C176F836 +656DE3F380EB93EDEC6D91AE8D288F088A45F0D4BA85AD90053E54DE66F4625DA1CF3E151581E71B +9F33AD8390EB758F1E55C9797F31E1DCEEB5C3A1CB3CB21270D0C9E667C4F4A958E432E878E6DF01 +9EDC7C1D79ABFDC77CB62E9428FB9031DB526BD78F32A89C08E444BE4EF0E83C475F8AC74C83E2F0 +C96E72327A4E5BC55F475858F23429FF2DEF65BABD476BFA172A03899A2E9D02A8DA30604D526215 +679FB7CB5E27ECC2B13320F9291DB85DA45B124CF8BEC33AA4644DEB7FE3D0D0D47D13838E549548 +4A81C0ED91EFB669E8197A72A48BDAF4A92A59D77A8F865D38CB508FA8130A725E5E5FA28449C5F5 +B501CF2ECFF00971D36AD199BC216418522D39F5347B9888AC4866C50BEADE43EF05E394161A5D22 +57D156973ED632D3A5238557A3B95B38BC5B3DC6E6982BEAED995B359AF15E500CAB766259729221 +83180FA0D45054B3DA4A95B691172231CFCDF2777AFD9F6611C0CACBBD8D2359FB78F3829062D1FF +618F0E0379C0ED2CBE4D74BF61ADBBD8D47F02E89E289148A87333E6DCAEAC02D0EF564F109C3BC9 +0DF21A513785F2809929B14E2C784ED1048C96D61AA64F34FA0CF85FAAE4894EB5D3C9F87C6C84D5 +98DB8817B66049336782FB222675F1E87373DD3755B056220BAC3CB48BDEDB1F82A10623092A5655 +9C129100508F9E23A9F3CADEF22BCC3099F0F7DFA341373E2D5CBCB3052CE1A0611C85E146DC016E +A4697C9C6C5C5A32B81BF88FEEED5B84AB53E28FB95ACE239780EA160F2CB5BF68305D8B4CF9EC9F +24DFB406B2A06705AA8849A18594BC173D542E643B1F287867395383C24C91A74199ECA5AA273912 +FAC198F80F248ACE4D8C7C479B54609BAEF88528431EF1FAE76F2949B2EEEC532EA3866E0A596024 +04D2678B0690B41E32ADF8097FBB5D751347542A9FA7A0223CEF4BD93ADA97B50D29D1DDC72C687D +531EA7F4706D68570ECD990B40DF6A33BCA6B5172363E20264525C922C149CD694C54556393AD46C +2F7F7F9FB2ACE742A3C247F08FA8484A7D6D9BA005933675D05128B5C95D569FAD666298A7A381AE +C51F06471DAA7903710B0F12FC04614F7EEE0F5C3CA279879ECEFFE79A8994D28894CAEA4913EF99 +46C9AF830EF1C89640577CC83F990987D9A20ED7F884A4A506FC90223485A521CE457084DF7560DC +0401192770738BE9F064D712FA7D4E63E1EDCF5955865ADDA6A6522700CC8EB425487ECDFF406114 +6E5B70F7EEACD1035D8584EF9E5028EF7425D4E981C9F45B37A0C61DB12B39F750CD378D9359607C +A20AFEE4BD7863328FA7BE6E9AD54B26374227D3649CB1F3A907DFE1B41108F0DA8A635477866D61 +5F0B252D9E561100E6934BBA26E99065DF88AC66412EBC48FAC50198857E635C8F11165AF87093DB +3F0177A67F540607F4CA05972B129ADEC64E358E00A4B882009540CDAC5572EA18A7F0156C2D98E2 +8E2311AB8027FB5F9C3C0A3910502B58AFB3608AB12AD6919CEFD0BAA3D36DAE38B3E1C383D7418E +E6216B072887335E69AF5EA38DAAF6DA50A26267F82F21263905D972BAADFB29C2E79DBFD84CF456 +6DA87E9AE2D214C34201747400B67F3496D3FBE8E7D659E602DC7709AB650943AE421C0DC790EA1E +8B2AB2961C59DA71585401FF516AFBF368018CF3EE26D5C4282B6564B13E1F703F83C50EF8A6270C +CDFEB636BEBAE5046A9DA56911324BB2C30704D150D0763C845432D65366D696944BBAF23BCF9D14 +55000CC7862788F0A4A8BFCB367FF7506577A738C9961CA46A246373C01E6547B83B2A201D622721 +216548854D1873FE6C06D433D17B78307AFED0B504CD356E9A2912D693AA5BC8EA6111D2D453A4DF +AF92C9FF9335576C92A580155608AD33846182C1793C31F092610D238F02E0A9D5A4AB724DCCCCDC +4E40938489D7FE7A8E8900B8C03561AF03BED74C00C530056A6A8E2651AC3948FC7FAF6F9DFF832E +EAD15E5A935FF7CFA684E0EA9F74B9DA1DDB7AA8B87A9A3759FF3F43977B18AE2A666FA5E0231070 +EA34C34A532F16720FFE0B92AD7B029930ACD831691E44D452A30FE44BE640A2ED9FA8BC819C555E +443A11FFE3CC611D23304D1A6507434E87FC50059C62114D881132E574D485BCCE4B5D65EA6746EB +85D72916BFD615E81F4C09DEC7844279C8F7FBA0E8D62A0DD238ADDF6FD4AE29DC1106A20F4B436B +C82D6BE9B57D9985932122C4C18B6E855F385BC5F40435F4A1FC9467531F17524C0EB4A03388FF52 +C5A08BD2BEDCB604F803F890B1087990F4E2539A240596F28FDB5B546AF64F3BC37DF8A1ACF441F3 +DF211734DBF1B844FE365ED4DACA5830D3D36D35235A02014DC72221CDCF00260D9A1CF3DDCE16B3 +2EA80E698D6E4BFED0ECA42D3AF59D2B68E92A46110F0E19BA854A448FC7893D00AB5F82AC3840DB +24B5BE0DBCBA +732BDDE0BA281297198E4A65EF5C6317A02E6E2068CE5BBEB62EFE43CB0E6C2E8A1CB742CFB3126D +5EAF94E600A5B77CAF675D9AA6B2A83605AED69CE0550FB6B613B4822C1747BCEE32C7370DAE5791 +18CF72F1F835048F8CB382E6AE26FBD2FF0F23813C6DB95E4A5264134EB4783E5575F9CF7F4B2417 +06D6577B2FD9ECC676D83012E53781034301DD8B46CACDB94F601433C51E24D209F970D290823CC5 +326B8EDE95AA526D780AC062D1F9477312951F5C7BDF0041939BAD56C146A7FA2E9DB992FF15A949 +F919ED80AE575ADAC4AE0D96D2D93DEFEB60D9B76728BE01FEA4E664CE9DA18C9DB3D190B4C5B043 +F18231DE09DED56DA9F6526611A2B000F48DB6D0DC91C24B7802B6D27574F4912AC15FBDA87C1C9C +C8D28F17F64117A90DD44EE8A9B0CC9F4C601F19F185C8EA3E4A192ADA81BB37560618AE27C194CA +4E1C3A1DEB3A0177E50CC65D4CB2C399A6DC2A0F4F4C0D1D545DF518746396EFC93DD3575BE7C7BF +7779323658CB7789998049B6BA3BBB9B7953EB289C7E399522C25473D954FD3AEADC432251481FAC +F76DBF66B15037A05BE7ACB83E7E3458346D63F4EC9DE99ED7531F418B8B18B6B31B92122138427B +1EFE5923B5F228714CFC5B3CD646302B652175DDA17FE12B9CFEB7500299DB5CCB2868BF1C2FD21E +FDDEA2E28D688AF7179F0A11B4499FF5A445BF40BCAAB53247D6EA31ED9B75E7DFFEE205FEAAC49A +2FB68C9E9DF37C041924AFDF46B49FBACEF4D06548B63F4A32F705A694A15D0A1D01881E220E69A0 +E1A483DC0643AE68526DCC30AD0042F9205329F9A1435F67CC6C099FED87F487617DC2067814FDFD +471CA47E1CD6C341B985AA1DC1A0516ABBBD1287D5309C7A23E70BC9FD9A17823484D60450C2DE28 +B34B9AE1B5C0C3C00FA62E0FEEFA36BFA73776108A5E1132BCD80E57270356366BF194815B7775EF +2D87CF0B53E90FDEFC7A658B35AB81CDC4D80F54460869908E38F81408C41382DC95D1C419EB8B4A +223B7F6FA6D9B92E008B9B0137366301207C855ADE666577D32CA84DB27F9D5F7ED9308AF1DC274B +3D1CBFF61779E3FB870D223D66CCED8BBE70FA2ED6A96CC274903CC7A7C54F6395D5D91CB2B85955 +2E18050B524D832E6562F51EA50E4F0D9F1FA5A8C94AAC8FB95138A81C09057E9A91ADD1908ECE23 +52CDA4A63049D710F3275253B4BD4C377AED3F8FD83AF28FD2064448D6C9062484E0F70C1708041E +A1777C5475618276A8BB307AE2CC669E2E4DFDD88DEF2CF625A02A8296F54A64CA616E5AD0D49897 +64AA8FC554CD74032F09ABF34BEFCBE549E8082C524AFCD32A6D919171395D3579320A182FCCA212 +12A22C46F66DCC54CD395BD07E0562F12304CBC2F5B5AD40ABB6EE50B21755C7C985FC5396F929CB +846997E94C69D0B19EB7E26FB786488919C643DA58D00045BED96EE9B928D92BC17E38E0B4508EDA +7ACFE4584557FB12140A19DCAA04D1326174481C3B378054DB3847F2DE86BD7298BE9984B8118A27 +E97BD5BAFB3A4678B1C976EAD7CE83EA53B4E2EE85E04E93BE3C761619F4775620C1376A30D33B31 +485D6B0E34E0477F67C63386E5729592D3D475EA349A29B48A48C5A548A4E1401393AC9F812AEDC3 +0B33B5CF8F670370C544FCAC40E6C2457E00FD9E36F7AED72B61A5B8529A5F8F4B1B1EB282561EF1 +37B06D51B416EA4142726928CC02EDBD0FB787B54537D0AA4ABE989A281467A5D818D5C2CCC8FD00 +04F227EDDA479863D8C013593F1847DCE8E0911ADB5CB118C8A055E3E6ECEC149F23B7FD37AEA43D +9527B287BE36214E0394DC92D4F384C7153E0F8634D5A79C4A99EA312C61F48109B944DF59635FBF +C021FC3B842F3FC1145D18E5C0BA16CFE8B0E3B17B157006CEC03348A37EBBDDE6495271D9F6605F +FD4674269AB3785CC42B4D078B1D994E8464B023966AF22D1F94313DEC5C6B93E01E39D113756597 +E85C861E68AA2E2BDAC207575F465138977467E1CAC19DAB3BF17B5165C6E6AEECDEFC27186BFFDD +EBBBF842F301E900F0D17830A9E06F80B301EC939BAB866D947FCD377356DB0CDA89E9FB6FDB64E7 +971439D84014544956BDED1794544B9364EBC8F28E4DC644CD348C5333A21972B922814716E940E4 +85C4281004D1B28AAD130FBEF1F072C3A8CA87F896ED5583A67F4647346AB1B72F533C80036C1DA9 +6306831800B6A51F3929CE1C627B60075C099B5FE0F14A53ADD447FAA9D41CC3ACEBEF7011776123 +ED7EBB69C053E065E078E2EDB981B0B2212E3522CBFDCBAD7FF5609AD931C723BB037E5BC2100817 +5314302780B022EE8D2265F4A107E06AA8CDBF7DE52808A2E9EB82049759595700506CE93A09EF25 +FCF79D4174352D64094F61C9691C2A7842E4A6B9324A0914712D47DFC7BD6133D42B29D46EF22B36 +8192AD7AB957E24068708CE4AEB4E5EF68898E9225DEC9FF3CB882C87F7A224111196E6B16414693 +6F3E9141B04518D281A0BA86FB7B1DD4858E172A3F46CA84B769F02FFE867C12D588F9F005A104A2 +79596B8619D33BB55B6F29BAE1F7B4BDEA11D2C98075CBD73377D1DE8F76E87CFD38014BFE402884 +AD8BE916729EAFA4BF0D2F0610DD6B6DC1A5BF4F3A708B4CF30C9805C15983AF1FD2512B8CA9AD42 +79F1C38DFEADD4089B9979CDDF280D78654672D246D7AF4BCE80D7979A3D678919152ECC42D6CF8F +C0902AA15223CAF25186451BD1BB0D697FA115A639B7EBD87ABDB756EE5903554E5A5769BB4B1F75 +E937BF8225AFAC27AFEE432F556689E43D13D2BFCF496A9767FFA0429936F441C80D4C10159AB651 +CA8AF9C9A9898C93831806E2377D4E2745A504D37F642FA2C9AA954C2D1231D9F4E467527014CAF3 +49723668C84F +45F02B9D78D405A78EF61AD8258394EBA6B3AD4B99F8B7FFA57FF72DFE32648C99AC98BBB8183669 +3005CB9A3754DCA36AEC60ED6BCE11FC2AA1B4834ED7A419475EB08E47115444E99AB65A2426900D +C3C1258DADEA29A73309343793F438F51B75EAC072BA496F13F429E772DD732CFA21BD7166CB0387 +DA65EE21344965A4BE5E585A399C7C6A245F5F55F356E28D5A7D5F8C6BB77E216419166BCD9A2E8E +4D8A445B6203A2729C229980F3B7051A565549F42BA05EDEC72CE910712FBA9BE5EFCBF3482EFA44 +C456A3B8F3C1439ECEE23EAF23536EE50AFC580C69FB05A1C6F8B06F9E658EB17227EE4EB3FCBFEB +CC9213DFE8BD787E9F02F9D39B34772F3466EE36A7FFE009D9F9AA8CDBE07030BB632FB0C166321E +B5C01913F597AF4D613533D5004A90323C02746110ECBA73970CCBF7B8DE7DF7B0A2278D8036BD09 +891B4645EF82B6D386A5C05FE0906A587B1F4D31C52BCD68BBB69A54FF1F6FCC1CDAFC254D77637B +FF769609C057DF914E8C1D579AC193BE7D051200CE8413D41384227A9B6BF1268D16DB183D328AAF +2CA99DB78D0BD09A1A6EBFC3CD2FBA13FA7091ECF4B18A27522A1912D0AB592733D2FFC0E617E8AF +9B53C2AA6BAEB7FC19A509E4E70288DFCEFC3DE0D22527768BA6D0F5389994F65C7B033EA40D36B3 +1D4E75CF2C8E47838E80BF2C73D551757E70AD949C1254D05998B8FA2E5F1E2C77D2399555408E32 +0953E1915E0C9D38211D5AED596417ADAAB314C798C7321070EDC6CD17D03CDF4B48F42AECF6C563 +DB2BCBF4CDA24D8A2703898E72BCB16D2F938664DFFDC4B1A2B20418903DBEC89E38A569029BAC3D +224FED5F30DA8C01C9A9F226AF6FB8E55F83953AAA9267FD0CF09E8AEB505FE50117E41449A96A14 +3E41802CCA1165423AD6397B1A2D375D45539C8B119810E55BB92A887EB3A6E55BFD1F3F76242F1E +12D645DA6CFCA63C3FDAB576AEFE008CAC8A5C4A9033C3375ADF76E6F22545477BBEECDE58918385 +B097520F33943A482DF11D1D63E558BA2D43EF903F4B6D6F8F5663EE7DDB8C112A6CEF4DC278BD88 +CE3F5F6B8CD15DFC9754079B0EFB1AAB3A832D1917A4CFF2F4D0F5DB4D0DA82E61D94BEFA60D4CDF +3D1DB285FAFEE2C667FE4D06C87FD7BD26E2B455ACA8BFF4DB91CED99B15D9ABEBAFA432D0963B78 +7CDA7CDC55AD23ACA4B11BD786CF747766772E27DCFC46B1BBAB6E67211082BC01C593EC423F90FA +F3B1CB555F9AECC20EAAE3077C72117AD4E16C22D4265BF270AF4AF953C23BE9125C793D44FB76AC +ACCACB4E500613964F57730BD6D5BAA53683113118EEAD16E8E31E0C0B7C2DB06435254A9F762109 +9C4C1BB0504798C3CD431BA96A9BE8D24EF37276A2F2BA8694042FD073EF8D37BEDD695B19F4685B +35321BFDD2DE545E011BED1171DD48D425C19BAE0149B8EC24E0167D3FF9DF043E2E7F2327231C0B +22D0E3E22B785B38B7317470244C8F4D4616EB9CCA0A194CB6F2CA6C63D7FD8A4C77EEABC3616D9E +2E12FF2E061CD79B68B7E8DFC44A02664962094FA99962D64869CF7D47CB36DC406ED98143E128E8 +F46DC694C5B976373D638DD82EFA9A8081020E97B39F03133E3B6F28DDDA122A4637601CF717B2C7 +E653DCDAE6A6E8AE32430E5A5A8242455535567E7E4D93F7B62D446FE59ED843AB94B4C6BB86585B +A3B85CCE0F14BC4AD5032BF96F0FE5D03984DDE3E4373B8701CA44032BD43F9C8E4F00E7F72024F9 +7E282C9AB6260B34802EA8B3B6114097D99670C1D0F7E01B3788EA04C8E5D99A82772B3AAA0BE2E8 +BD82D8F7AA3DF0FB21FBB9E3071C3101E4B05FE43D69E3EBD9DCDAFC6475330741BAFA1DC8753840 +00FB0EDC0E47B07B25B547EA78F4B053D4E0AF5BA677107056234DF08C70A40433BDD52F53FED63F +B6F9506CFE31D66BACAF065E826A47E51687B30CB799AF387548E5ECF85A3CBB944638E6E2894E4C +2673B661162AA3859601795A93C4C17E150B03F66CFD973D5AE7C9E0737ED42EE6D16752E0507EC9 +23ED5A03A7BC14C88359220240014589F3D390FE23088F0FC4456DAC71E59125AE9C2021D3A57F90 +F107D5ECFFFC6F56077EDBB5C431398951F517138118BB955E6C28AF0A606C9073713847255DD260 +1BA0317C426843E4D80B5C3E92515FFF06102ECBCAAEEC97DB0A4899EA5FBC22075A42BF1B523967 +CD110E291E1376E62FAFD22C7BC190A464E41EFF27566D417959784A9B887ED13B531EC2C14D7577 +A37EE94E6828D3C8C7671F54816953975E8EFBABE384B26560827D0BEA97A4B27914D1118E2D7888 +7AECE837EDA031E30E7BE946F814773037E3DB974A1335705047E3CB6FA1435CE46E18CD27D69AC3 +FE83FFD8C6C573AA23EB28CD80CB9CAA6F9ACAC3B49A78F3E4181CC7ABB14613F89621A31A585556 +E8697C402D61CDC265BEA8FCFEDB16C104DD01B460E8A380BDF340E0BF05CBD8BC3FE0C7A52B1575 +973661F6F8B8ED6A17F134CF4BF729EC079CBFD401E01DF9FB8FA75F7D86CC8E92CEBA48FDD7B68F +25BA967F549365A6045CB1D6BE9D4588551C5263D47735ED5488B054019A005D05B3AB7D4A6AC67A +A79B6C8EDED695019110EAD5780359FBB7F9F0EBEF3120AF886BAC2AA00FB2CA77B0E19F443A68A0 +257860828A07D977B82DBAE3F8D77EC76E00C5DEE52BE5868C349F42B2F13EB482957D7BD223297D +8E544BF7532461CB0F704561718C3D6B3BDDEA5B1205B018BA31FC05E3DE56246284249F40A6D8B0 +198E54BF7B71B5BC659DFB0D38EB75A0FEEE63CB43C40D5267668CB3232C487FE6F2C2EC19343682 +6D899475623E4989D8614AE0F90AA0AF16F19BCEFE87F6782A3703AB244580EAE3D638E10FEF1F92 +45B0455CABA4 +34C22497234CC1B5A387B5AECEBC18C58CDF75594866C44098FA6C33C92CD06C3C5EFBE41D5DC023 +94CC938A7C7DE0359E4058EB46C0A2864D6EF229941867DD5D88C7D0BC911B6404C9455521187BFB +3D115357C738ED51AA72FAD557E4966F1378DA2514E6A62EA26062F368ACF240E24F243F99A41697 +642178666E60AB3DD7F876788DF377282EFEEA658527E4E4F9B3F36AFBC195355077026E1D9719B6 +DF6BC641AFF93ED3B4E5FFA234BCA8DFEC23A148EC6CDB06ED860F3E425F2941D5BED2546F47EA1B +84A9FCAF68542C3981790611F310C35B21DBC8F573CC62DF4177D56842CC959E576D5B0F97E7442A +4C5B2AF5B41D377AD5211B39ED1A9720CD1FB623DEA6AF8E60CC767D36310749EDCF855C950BEADD +A775FA630CCD11B0A21A469B3BA4DECE48C2BA6F60F3FA010D5A0E2D0C03D030FFCE8B82852D0A00 +952BD4FD3329FAAC34B89079644A44E14D79A9997F9662623365E332AFAC5DEF964123632F620095 +BEABF32A4D82F4A4A6349D2F453FFEFA124B103D8FF7FE4939FEB3BD00D5401CF05D3612F42F9C9B +DE496A202A1F12C614DAB2DFB2B558A191891632B09A0674AD45AB05B7C1AC26EFBBA6CD13C6C864 +9CD0ACB67A83C69432F0AA348AD449859794DD5FE906106DFBADAB9B1F00C2FBB03A40DC938A313C +0FBCE3D288DE6D5256D0328769DCEE521B03AE373FD3C41E5505142727C4443E64FCA4BDF433E252 +3541D88D2BE277538A56FEC5B5DE98E420BED020DC1B504C770965762D045C51A5799A09EAFF8611 +85AF2A7694D7122A61CD397103AF577373A5EDA51B40F3E43CD4C9E37C0C1EFBA64DFA64D0BEA49F +62DEC1AA4A0FBA567EBBA6C1C8F4F4130277D871F3756FB282D9E7AAEA0950682CFCD4D659C96835 +2B93CA737DCA0B4EF4A90AF1FEC92319DCE38DDC59C53B60EB663936A71EC160D98314CE178F3222 +F7A4E51EC95C36F1D9055F994ACC737D3F90804A3DE632540EE9F66A6482FCED6D2613937372A0AA +D3B52A97B4730A1ED10A2CE8DA3F65959D9A619E48C9F6C1E2C1301378360531897485F09EA506D3 +BFC82D4870AB87061003D7A522E5408F0CB24D47D46DA9EEA577A3684A62277670C6E81849C6304F +B7EE33BB7E0FCC41536A41D1DECFE776168C88FE35F38AFDBFE8D67919645678DD8C6042D6359E8C +E8F2E7A480015C842E72AFBD3182AD309A3B99122EC2E1217EE8EB07380A84D579C62D2B3702AF4A +266A693820CEE17DB0AE619FBB6598355A6C4493B405D470691B6BE9EFBFA572773551EDE8E4A919 +8E9EA123D917A33CB6C2D594902F6E26F65EEFBBD5DF5205A9B397A919644212AC17B78E96890DAA +660F994233068E0D75D4248AE637F277C899A9A754E008FC591A0BB92A045456C8EF3D964FE86722 +24BC67D9328DFD92BB1A674C4FA364CC2CFE12CAD363182496E2097CEDD246D50CFA9901DEB4DEF3 +122F21C6356788E4B91FF9622BA0FDD0942905753010933CC0490E51A46AD17C4AF1316F495E756E +A879660A8D97DDB6DAF6C175FDC95A3A9AE71ECF900BF8E96A17914FE9F6619CAF0E9F2E0C367B06 +2068E68E3FEF420421F1724B7D790F433A830F2533BB2395C5C586F17306964845E056EA11DA93BC +1BD2229575B9C82E85F063329C64297A3A3C50F4F0AA8705F54326018E7B8EAD139C7E5464AD788E +7423C8D01A66A20A9737748C7C8246D4B7853983CB2C23F17A1081C0A8DA1FBCAA9A08AF726964D9 +C91E1528F92345AE121922D9D251337FD35586296CC3B5516F0B150DCD4C5CA56A26297D0CE3E260 +35E6FF383B7D438E3FD53C53C3F27315B1E705A675B0B209955DCB82BBD58B869A672451965747C5 +521905E67010FB24153D2FCE1C7F57EC13F0405BD8CFB787DE0B782A88BA5495C91F7F9BAC19C2B7 +77459F4C7081F3A84DAD267E8C4D38EEBAFC6E7231231D9FC56D36245ED66054F38188EA73A8942A +0C15F706A1BFB526AFB579FF9F618211B1C15E8BC42DA6CF7019834983DB540F7126441442008A2E +CB3F1AC4DCC50A7D851651425BDCA76428083C7FA3C9FFA5702D4B20D7A89A0015174346FF7D2C2F +E7D88BF4A65437D6FDA01956937CA9F80B39917BE61408567C5443C1D710BEA4918F19A5EFC5598A +2EDFB758E4EB8FF3C919E94A536DA8AC62FCFE6980F494C6AD59BF0161865192A0014D1C959D72F4 +3190151DD5A89442676DFD81095F65834D020E97B168944D6F237F7CC96815D622808BB9AE707683 +33000F301EE30AC21498A905400476CB0939F6D5B23ACCD93EFBB687DAF023F20A156ADB9A5913BD +F8647D5C6C0ED75BCF9DD1D8ED0E9F30EAA2CE9F6DA6E61D125B8D40976A8D84B24CCFCFB51875E7 +E3D60F28E666D95C1B5C8F76D1D9CE6974757452F1C54DFBB152FE581C460449D79F8F4AD65AB401 +5E3FE5CDFB7D847A3BE0C40C519C29F68BBCA15E004FF3A8901D9D40A166018A6665C42FD6CC71FC +F8588AA9EB15BA9464CC2E4943AB4CD8BF705DAD4BEE4CD5E6B08D8F41EAA12CBA81A15F110D3348 +77E52D789626B5C425490E69AA6958354949B4DF9D5D5B6E1A4A22B4D5BBE076CAEC5798AE217373 +4ECC46979963F054101BE699A6C2389B0B423DE8D9B677539AD12035E055C258D3DF108D3E9C2ED2 +2787EC372849D488AF0CB2CE33B5E8A9E2DA57FD5B878E90D12A1B4EF1C9760F5408C7DC3226AA39 +C7A82AA022655EF356519602CCEB3D1A40ADBBF5E0D72B947AD03D6C4A41AFBC379315BEE19E22AF +2C023A9515F04D5FCAF1632B0277ED501E5A743C8F775B92AD8185B7BE2778CA7057A9E3E9ED94B2 +DCD0BB8263E66E2CA2D439971EE76B87D4BB91AB3730BBB125F2C14D2DC9F4CE7372E81B3BD2D3A9 +F2C3FB8E1F8F +27D915CF9C7221EE36B707A0E719405765977E23768EA6616CE287C0E484645346306D7286CD29C2 +421643A20E65830532D0E6DA98E60AF3EDC62A560B64D7003301BE81744412D47B9857BA4BD29B7E +AEEDDBDCCD35B242666F05C4D7B5D56A1BC61CBB27BF5A99E7AF3257C6FD145200B61891AD4B97E0 +68CE2BE7FC4FC0F000D37807BDD652546EEBCC905FAB4EDF9E7735A05750E32ACBE25E914A40DB61 +523FF9651C0AA08AC8CD5CB417B0985C5ABE211547439E3E9AA625A22CFB2DCF6B98DE8BFCC3FFB5 +0EC1234F830BEB82FA17B1B67B0BDA6C451E96FB2D946F7606C520F8A6B42A90D64DB69920F07431 +821D8F119B85D88F00CFC76B61B84EF9FAA0D9358F3B6B995A6602615235E4EB330CFA2C39494DFA +F85A9FD1CE9F945A73EBB3FC1D65A26E266CB8DA1828417E2288A293AAA5B697974DDF69C0DF1943 +F26FB3FCADFD5C61CBFC32790EB2CBEA3C1992CAFA25AB18B3847AE75CE7813BB7D63733D222D007 +FAC484E9F689DEB87EB41B393424D66E0C93CA76CEF2D17E27784C22A9A224A3BE3FD8CF0DA5E58B +CDE95C178BB56658A39476AE1592081A321F48357612B5DDB505BB55AC0E642F1429F751B6762D80 +843947B07846BF85E6610B392E8B75A4565076E0A993C13CBAB441D5E5253F1BF64FDECEF8EC7662 +5439CE4CC3F1432BE6C3A277AD82388CBBA64374B2969823512C397CA258CAC3936F9367A9782F89 +860E43BA7A53FB7683C9A59B1D6D4ED84E8EC3B58653A618FE1F500AFB8095925069CEC3D4F7B0B1 +419592D1ACD9F65E13C41152181AB66199CC99A9ECE0226D34FD47B0A1C9ECB8DF5717808A0F03F7 +37EEFD0F82DB219B7A82508D2B503EA1F3EC96B677F50EBC7427FAD4E738661CE46AC4F4641E8FFB +9BA25B59E9039BD53543675ACF6423541F7FBAD61A6C7A8E3AF1F3CDB76F9526C768E888ADFD3AB2 +6465FE20A5D3A4E8B21B610388E1BC772D90C9E9CDCFB27E78F9DEC27286083D13006A8D49137FF4 +035C93FEB24A1330BAC76523B71B8CAB8720795F14AE053152BC8F01C28E08330AF79D4DC3976C24 +885394B382549D89CF9C50EAFAD06D7BACB15ADB0DD71304D97D752955ACB0DF2AC39A3B0DB155B4 +F6A06CD3D1C282AB6DDE25082965C670830BC79A5F6685FA7E7E03592B6A5037FED23292424F9188 +D0BF3951A3CF8310390BB89C69B97AD3120B5BF3F3F4BA3F9FF854FF7F6B19EFEC3C3CA2B7E5F05A +1043C6345C15575F44D1DEC7D06E46F4256458011A50A98DACBA26F14C9712F5595CBE441FFB74AC +6FE73BF7EDF9B396B090268F271549C08B5F39D78C813B29838B35011EBE34D3FA40C82F7E1C80F0 +263C3B0E5A2E02B20699FE1E8722B149BC4A1AAD7567C6D29FE865E086A710C57152F722BBAB1570 +D828793EA47C525CC6D0AE4517DC8F6B0C6409EA9122BE1E6CEB470770353DD651D9FDDD6A133395 +E94AB220E6EE0C0E6078273E6A4FE9996F2463FB6B8B35BECC0712D7432EB57DF78C699EB33B11FF +F3CA6AFA5D48BE0EC7C0DB9854CFE97A905FEEC49AF86CE92E0976A53A9114E30533D6BEDEB4A341 +3B70CA08CE2E80E17151F89BB1CE53F2ACD3306CE764CAED627C2CF9639047CBA437161D35BF8CCE +3F37F1F0ACAA4C7EA8962354520ECF39B5A0BB542F4B6553EAA37AED15A3A5823CC27E4AF0A6D493 +7271AEBD66118203B2D092D74ACDBA25A241D8302C9A913B8270F08818CC666693A309B2F7B64A51 +17157ACD56902C65496A8822BECD3432C9A78D1D77C23689D86D903ED393DD68A40A3B47D2ACBC14 +081C0C42CF7BCC47D84DA8C6B77646405E340AE43223758654B107880930E2CD4E982E3A2F10330E +E634E9BE5452A080CE18AA91EF51EDA597FA889FD2B689E33A2AC64920D5F30187134F9A06186159 +795FE04631D9BEFFFF44ED92F81297F52BE61174F261CE7616FC6E5C1AA3EB566B4F19F01516AC02 +E8C5CAC1C53C89A76C3E1814D6392F0B5B4C52CA8389EC3E5746127DC07F2049CE0FCC79B0D2AE13 +D64838A424928BAAB1C1E82BF8BF08F509A5B77FD941C0114064ACCC52D55178247A1EBA1AC20A76 +C29F596D1C44FB45F581A35335ED6A5F7AE141DDA818546E27298DB57E86222AE3CE922CE68AEC1C +30EBC48CC22B5366522D42571096318F28AABB504EBE726BAD4EBEAB818FAE2CE70687D0C27F12F4 +5E82C2FE63BFB41D8049A9392912927565AD7A267DE00119D4351E13D8D181A7A96DE2D2C131CBC5 +196001B049029980D9EEF15A514BA576739CB96088FB2A1BD8DCDE7A199CEB54307D5C1F1373E725 +F9845B0C6337F7170A4E4FFCFC87C012B119AAEB87E01E721C06C1582B3D3529F068E011CE22C88B +C90FC06189B123580E6A1425036F7A9CF374995B26C8859C1DC2A413EF5E96D80156D9371477BED8 +27F66A01739BB16A1F1D52BCC9411FD6B72F74194E33D6979F4D6528C57DF88A314238EAA70D3C4F +573050BF50E531CE00D09EF54C75D49FAB692777C0506278D3F00C2012648EC5F2F37A18187584C1 +AC1E4619F0B60CF5017E90DD45AF1A0146680EE16BE004538A2411E9ADFCE908B02F0B67129C9793 +6BCC4B2618EAA5F06639CC4CDA5C0B89DABAC08B9DBDA0D0E5166AA85094182F40E510134E62B6A2 +6FA02561EB40AE4693EA2029A121C639F8A7B46C02FCFC942083C941DCCAD0136E966D87B24B0EC8 +6197BDA312575AFDAE094D9622A6EC51E14AA7756274DBD8B9E8CF942637CA7B71FD63BC27359F42 +1D7D8A3B0BD11FC41EB1181DFCF12EC50E1EE59B50FEAEE31847DEFC8B76B80B8F769F353735E4CC +027EB9C2A042560FB95FBDC1DB3235BE784996F3D963075A33469BE39387DDC9F51296C97DCE079A +B41FD8479557 +D6F91766850E4CB74A4F2A395876A83ABF97C2EC316A7CA6FDB5AA0CC44B8117069F93C47E2D20EE +0F88E52A2A0D5FF89BA29E0558FEB2F11C3705B63560861307DF5D967EAB9909A90CA6B1BA078244 +9118438B20895FD27244E38B4AAA1B3857E916788E5BB3D4EDCD01B7ECD2799835BED7BAE9E51338 +0E93C218203E072C2E3846595D382FD5AAE42A71A2F9BC9CD014BB29054C4242265158CF5B98F877 +48CC3B14DA35644D7162152CD84B2D1D79932330214149A7A78617E3BE2F0E5CA13A61D4CA816163 +F8BB415E5D9B152049BDC0A814D19ED8CBF92F902EB83C39CBE00B0024AFF711D157FE7672659461 +5CFCE0F231D174FE9D2355FBDAF12304AAB1699F228C78830C6E7E850306F57CBB26ED8F412780C6 +28A4D2E553C604208D04949363415F3076CB2A3965F90792A9D18C44029C7543D90722065E4938C5 +F5E47849241DBBA7E32D954861DED93DB2063F3A84AA8CD42734CFE3C550721F1973C5FC3606A9D4 +3D37849216DE0EFD2E7367B271652E2305A0D36D0DAA02EDBF9E625A684284AC9E9E61A91BD9EA7E +0A1B648D3FDDB33182A112B75C87EF8E365FEF56007B04CF62AB7148F91D8340CC1898DF5937601A +71B88BA5C948B5CC2FD7112A778069E373DB249AC8BA699A658964C9F30711D5D077CB1EA0F14A1C +87EEF76047620E4F6EFE215C39F30502364BAA349090564211EAEEC60A0D7B4BAEF7144AC21446EA +7BFEFDBF90AFC8A0FA5989F73F0844216820D165FC78FC8C8098BB0BA1E0268E2744EC01295AAC5F +2D3A47DB3FCC332B7FB05A6409ECB2698422637C637E908026DB3454FEF86FFD60AA417EDE47B5A4 +500B38D62A8AF65443F77BDA75029817CA994B4F51E98A1029595D61F8E975B02103FC0606FDBBCA +5EF0651F82E87E35FB611F3DA2A3556D80369B030315A6C4B122E429430D8CB9AEC3522589E9B896 +3E714A2AC63B43256C23AD1660E198D766CB82EEDC054E537866ADF71B3F46A8232E57FAFE218FF1 +F2B7B5F5686E37B8A01FCA0DD7CB58FE0181453032DB308257365633B7FB3EF1620BA1BBA36395FD +7E0CF31AFEF6A93A0A113A20EA617F402B249210CD4627E63770E4420AD65DEAFE2916B2DA007BA2 +9E57C0F091C2083F0B9B394861687A677BDB76DEEA8A58CBDA15424E40E32316691B745668E00498 +28FE9FF60C9C19C9E050B42F368F90AA413E19F65756F08F02FA4330A1EB514CDB2F484D3055875A +6E22FF4DC13E803A91C037DB162AFDE7D599F615B55EC16B72AE8CEF5332CA1F97351E7365E26FC9 +823802C443C2470372B6DD35C890DCF70335281C5FBBF8F4C6815326191B559DEAF4C9D2C1D05ACD +19120FE8CFD5265FE0A4528AA5E71415A1F68AC2003F2C50B22C561BC04CC237FA53F7974FA77D69 +BE157313BCE1F476CD895F22C73CEDDA2396DF6F46202A3E3436B7D0DAB37A488D114B7979516AD0 +D872FAB615C49576DEA901A607F26321C0A32BB64FD3947E4CBD40646D74FC9AB31605B943661DEC +0494D59931A7CDF84931BB2D9BF66B963AEC8FEAE04639D179B88B80E466F95D191823E356C1F4A4 +663B8B6B9155309E78006D5476DD25C651EDBA3A3F4F1F983E956351BC4CE07E3A35BE5F5DA246D7 +FF948C4EEC2C835B5D202BA005BB2F3186113C032D4FDB9B014830ACCF9F717388C8C400DF199E5D +4E6D85C7C200948832CD26C2E9F8E59660F22F51F24BCF6BE20D5DF482726A864445A0A7128FD632 +7B27924161B7C0E2DE3C41E47573187513EE09902878AE14A0883A23444F6F42EE652C94CD8E6C16 +BFFFE3664FBE5849119F87914E284976B3088CB92722C8C01880213B58B3AC2161B621913A5ADF5C +9FEE5B7B90E212A1B3F0E905CA65E38B45BAE5A9F1BFAD10820BFDCEA3CE2023E1FAB3940E902982 +83368464A2723CFC43B38E9D4698C9FF7B48B7B7C5E11D92CFB049578DC67981ED1F43BF7ACFAEF5 +E540EBDD3F38889EB85095B66F2F81C74CEF23B1EFCAE694168286BB2F1D9B1B49AE46184C8231FA +5A0A09ECBDA68E9BD075D810668CD00683D519B440D8D94E41CAC4EF030CE18C7919D7B7A1F38859 +EFA83395933B7EB2F391E95E5DE2ADD19FF65EDF074D1D38D279DA34907B8C9CA36FCD6B60DE0EF8 +5D03C7C635A8D64B0C02E52571C5AFC9445DD03766C53C79DDF56B8959E5E87968BABF2CEB906F4D +546F81379C4C8B6D87EF1E5A8094F57C9C3339FAF66999957E35F9BDE39E35F204270FEF6491ADA5 +8950BEEE9E169FF23D5087B709E42CC10593C6A439231C6CCD6C684D51E83EBDFDBD25B3B62990FA +B53981843116280FCC7AE95F0E915702EA7F7FA63B11D5C27AD37A450D65941787324FCE36E8C3FA +07FD5AFE27F316268ED6716B1C2F797B6BF9EF51BCC83A1CA491EEBF9984EBBDBE8C5DED21615D8E +416DD81D06E0D2504BEDF4B7D1DBCC458BE4615C35C31E24DA5D8C1B4FCC788F5BF1F940F9E996B9 +0E6DFF4B7DBF9EAA2AFC9E91BB4656A7544C01DA8C05A3FEBC37A8B87975B63CBD0935E3C4F72774 +D48000813C1064D1DF10058BFF457B4A26779BAB785B4D0ABAD687DCC10A1B9EB020EBF418D1B0C3 +D127FBA144BB830298963422C984530E3194E2E07519F738570B6F9F3BBB30A456C5642711B8E122 +AA0396324781D83B3E14BCC12871846B46424D7F510A077B024B7B7B103755F2E1F36A897EA6A8AA +0A56D5DB29D34ECF278837987480FF7C3E330370B6C9FA9124A63BF7C29BC794098010C05E05E4A1 +2698BF3A53992BB035475B7ED77F84ED3F16F5F359EEE33FC2D2D3E1AF2E4053059FBD90F85DF6AB +7212EEAC6F9F2F955DEA8B25EF8A4BB54AA3A107CD7A6BBAC8C30F72BE3285A6C90BA0BD9C92FC83 +CD77FAB34860 +F7A530A5F40B7E88D590A221A494F17E3D2BF9FA5D4F40D317FFC7FA18561CA1EA5F2FBB8AAC202A +14CC676323DEAD3E90995E03FCC87B30B0C0CDE41332217B6DDB1204CB9792345456BCCF9D7EEB84 +20F1EF1B6AF74F3FFE950974EB59347018F76C46473B844F6004967D5C3D8D142110703B97346F7E +6647ED2E324B8B594DA9325AE9A695D6180CC120E3F3AD9B9EADDFF731C00B9FDC5FA963B3693AA4 +2827CEA8B0DC35B00C8C63625EED55B203DCF1127A15FD930723FC83A2A5DE6E68480D94B83B102F +B24B8DF72139C353C24BC6C606C9C545F2FBB2C3545B1132B3A60CA30A93212BDA04D44D97A114A2 +22005CDA0111BB7979B437159D5876D92DBD386C674E576B0F6D1AAAA38151C0856280318EDB90BE +B06A926E1C34E527AABAC26116F58512A7CB444B337FDAA73FCC639C0D1409678D2AA29322450D45 +8273FA10B7CCAE8DC99BB5438B11B5D3C4643D01B879BCA0EE1DD97C8FE5A425D7F7A63C45052A99 +E9D28E4608B1E0BBB669BEF4F5E69DF6A8D164ECDD21977E7CC7A3D3535C2842015BC1EABC7B87C3 +C5AEF7DA1EBCB45AA581D4EA4B22AB31F90E186FE58433056902BF40AA032A370F06AE722EAB9CF4 +B51CBB33BB9B6E1F45AB3AE823E4F90CA9A547796D7B6613EBF7CBA56C1188EB2C6D76E929A3683E +660BAEE2E9C8BEBA37A44CB89FFC475A02A4A06A29545B700DD9ECC4CBB3CFBF4CFC57893767AA67 +06DBBBB95BE7279767C7B997A2EE399BBA20D4FC0D75E253C90428012ABD6E0BE536184A888A834B +2D7812378BF42101A67C534C4F73943FCF6F87C0242A7553486DCC6144B61EC78E783EBA99A0604D +3516E320344DAB37F72B9A962CAC3869142761BCF6EA6CAF81F957F43B6131ED108E86935544E805 +1A28C14E67FB80E32EBDF1F7445C6242DC5D39C31E134E2C32CBADDA3669E0E155FF494B8BD59E47 +B6996EFE8AA85007B35DCC74E61F7FD7253D983B04450051EA378F30CC5936C3315B04F9B649FD41 +E44E155B634FC44E50A8CBAD1B643446C07CD09B8ED67C91B5818C759B20B1936BE176B635DDB643 +475755E20021613CD67C190707F3071DE941850D11BA42D05FD038934564DAC1D0EF0B631479AC04 +EDE9B2BDDD8B588867FE9890140E21A4E71876CE544D23EA812C5A91E89875C481342B37CE00FCBF +858E800EB16B261F877C8C46D7312BD6A3B93A8EB989560BD4CE6A2120DA6526418038F8AABD0D91 +1F25B9F2063D3C53EC6474DBE1BEAB75436239568AF03CE79272A44E42833AE66360C8959EC93CA0 +8F20FE22AB0E42F719E2FB98FED3EC640EBD03A438749C0397D2E251825CD7E477E2DA83C640EF09 +BD71B1497837F1EB3DBAEC47DCA2626D094F0D307F670C5A3CE261A0629ADE880AB4C642170C9092 +81AD8056AF4DFF37D7668D17DD7308C99E53E8A8BA8EB814192D2F9C783EBE6186F7CFB80D8932D8 +817D2B65D89C7CF457AAF2C90CB22064706B594E7042B07A8661E736A2CB4B832B3BF0B7F252BE07 +89F35A7CC63AA37DDFBFFA616C1D4ECFF4266DFBBC83406CD3CBD5F367BC176FCDCA60A963D18D32 +B5CC8915D2F4D2A994632C9B6C05ADCC0249F532C2AD867041268F80ECA697D1846035E11CBAE00C +04770289EFC0F99FCB1A395A925BE6CE2FF10D099FBBDDEB698E53A7283711BCD2FB822C9B361288 +296EDB9599D53DD9AAEE24CF43DC0649C1E653208A2E43CA1EF25F48E12137C57E09B9365D74D92E +D598F2D20232F0017AA82EDA7BEA70FB8ED376A6F7419317D36FC576ADF64863AB21EEBBEF41DFAA +C8D201E171F9739F87173D85F43C0B50774B382E4CAEBB7D79B1B71C56133308C3DCD30745CBD80E +D4A72AE6D58DFFC1745659AC3F3CFB395DDF4AA93FE0D6FA245C79C9BA042162CFDB5DF0D994783A +1777C1C827D0482C343EB9DA916CDA84E816D325B68EA913771D73651094D126FF72D40E8B42045E +8182FDDF17A67DB5874279853B35625097E1C4BB1696241746A183FCB27A34AD11BB5C64749AF422 +374CAEAFA8DA0662B8BB36D2F5556B93828F41F78A4889F05644AD086F8DE5387871453D1BE170C9 +84369C0070D01A144AAE78E3A9A0EC67F6FC26E0E7C5DA06D66507C45EB2DCB738B5A75754E87DE1 +FC4E52C5B31B8A6D0B8473D7E2BF236AAD875ACF393F51FEC2CD32830EA56487ECFBF0FBAAB927E1 +F1DBE2E12F3659AD04F22835AF51924EE24FCB2D42CD12586E4CF2FCC147D0229D1E5EC018058FF3 +C4DE31C6FC6C7AAC8F77696B0346B5780943B9B5F61404765926DCE9E96705DDA60AF6FC69C5692B +A49086771C4F555FBCAB3957C2FF8762330D542CDB72BF97D729BC326E7C3C223E5E06BE7F4B4C7D +79535FF468C10D6FB8381F65ED19903E6E45D10F7DD17A5D172412CDD87BD390C2AF61A4EBE0B7BC +E9F66FB9E0E69C8BCBFA65E589990DE4A02F350B6DD6CDC9097777FF1C428745C9DD760F1FD00E80 +543D59B1273E5F025FDBF605DF7E1D4EEC93333FCECE6AA66D42C5D5FB3182ABD64E82DD71DAD949 +8C6359F24C8113BF32E0D68648BD119308D350B2B119AA4F2895BEC94CFE2040E643864AA6F8CD69 +7C35E7570FDAAD341B2AB2736B295BF14114FE11EDAFB7370E6A1A422D2086B364A74864C9A29544 +E6C21D38C8F456F0B84BF5B92F681F482792A50AE101F36DB1155EAC46B6FE29D297D4769AEF4CAD +74F70E14CCE2B7D3335FDF27148F21C3E5B12362D36C3348D2528A64686D41B33844355D3B7C8349 +2D3188DE9AC6DC4275937D8CF074DEFB6CE1D4B287CDA419BB4998AA558C995247C5AC148E71F5B8 +971D164D71CDB8D233699F9A5D2A13CE36895A5C48967AECEC41AB61DE8C04BDC25E70CAC8BC2659 +27EFB56D9C59 +47522CEB57520D39EF5390845D02B31319DD3EF4A94833010156EBDB79B229E06709D0A2C9C6AC76 +0CD14B4ACD1737311C0E6750D64411FEF113CF2B7084E06EC2E72F2A6D351CD181CA6D9815A85D2B +2B76FB2304365A9A701B0DF4E5D1A8F0016842BE7C902BA05025D9A682E43A584E8CDE474C2A6A27 +5EA1F48379CAF459F3E67959E6E234D7D051D7A4DF3889853F6FB5601656367C3DFE803D89CE6DF2 +023B67E7D845A03D77DB22DF37562A54DF71081951A08EA15F94BE9C9E8EDFE7DCD085D383F72D83 +21C249DC285E710AE103B9D15E18158AFDCF014B278CEA23CE4D02AE6B8FED18890D47669A5D8C22 +C7528B10C4E615E24DC58D2365287D58F859E1AC5E386D8DA4F17E75D497097F987CEEC3376EFD84 +1C7BEA01F4BAAB730CE6EF2A440A46D8F417068191BD33B7B64594AFD01CFD0D72139AF8EF0952B6 +7C46CACDB9D4370EBAC1F1ECEBC3AC287327DC35061F7103A808F86B49EE9872CF7896CAE279C418 +DE6B7B9B53FADCEFBE800579E1FD2F099B8D34DED7EE728C5CE824D5B662AF8C50193CC5F3F33BDE +A9A6A32A1AC736B40C6F3ABD285A9F60673CA113F3A5B983502DD04BDDB4B791A9CC4FDB7EC10A06 +81EE99268A358C1068B83EBB1DE2C7EA58FCA5CC288D0DCA793460F17B2CC80DD348AC9D55388F8D +95BCEDBC87A7096341B4A887AEE42B28E2BBF91237E93122472B3679A9919BD98ECA25D58B1F3000 +124F18EB958BDE2E999720563EF44C11E8F75A7A4686AEA49FE693BB76BBB2F6C69BE98FA589C908 +8E5FD6309CAB54BECCDA6EC68DA8C21E6D1DE05BF543A741E82881A34D350C8118990E93583B03FD +FD57A3E4BABDED85BBFE774E85393DC788361E11377DD772D2E1BDAA68ADCDD5555354F75443B2D0 +039F8C4E436F2BEC862C1CB113073CA616F672CF505415161C2773B46CF059E984400A6B83F46214 +0229EC13D85F1C12DD0DC3DDA94863AB04ABEA9FDEFFECFBF8AF65718DD0063EE046CEAB7ABAA653 +36572DF2C72EDA593BC9489782DC637F26BBFB36D36FF9BD82E34CEF44A12653F318B68E7D79EE4F +95FE3C8A995ADE7535A81CDFCDE7EF957F4AAA7D369E6CCF60D44B9D703A3BC552FBBD1486876B45 +27B79EA46652CD4125FAB80AC211F1189C23264834CB160586810800FDD1DDFDA191328E2BC88BFD +B31D31288A35E401AECA3EA3C17EF7AED9D4975196A1EC672975F8BF77D3225C1BCECB3FC82FC104 +CC5B53B5FA7ACB605851DDEBA4F3E7B00B8E5EB75B11C16AA402C4E5349D006EE4E7315199703128 +BEC7DD26DF8BB32C651BF3FCE6DE8BA17AFE79921AB82DBBAD1A47C8E3A1C40AAB9DEB934018BBA3 +986D48A6493BE5A3FB8042F8E75000061DAF914090BF07958D70C0DEC9183D98B094F7BC958A1ED4 +54C1F5C40E6E9590467B2959ED4E67BECD84DF42212B6F26E5DA669097CD96BC556E96A20C9F3AFD +D293675D9105BD2DF249E1C803D8D12D921F54580FBF27B5367798C60DEEDF94612D0BD21E56E77D +E4B2DCBDC5174F155F9D15F8A3BCB5A29A3B82BD2C4EE96B68858C7A537089A99FF87E8E7795DCC6 +B6B3F0FDE7F5BBA09FA40DB690CB662C03A27EE00EE51F97E10AF5A61B08B731EED839E854D48E7C +B396E32DFFEB39D113C5BCAD3E992688BB6A5B22C6120C0F505F6E6FE7407C10A1A46E0B7B6C950C +B71973279DF2FADB7CBFAC24A26F318218B5C32378FB10F0DE91D0E6A7840A132E6DEA7B5473AD74 +BD0398DBD66689DE3EE6A4A4215F1CB780AD6A95D82F04F0DFBA234179CB72B43B9FC8DABEF1B34D +C198E0E9A3554F9749633C9864C4EA265F0C949A4A5A37AAA9B57EA9F008E19B61E9D12ECB590DC5 +2C5666B43DA6E0748197FE11E67DB14B8F737530D84501E4E99B19261352266D7CEC166D05299C51 +60983E4DF028A87DB43710451680D843F21BF896FFCFCC69F6D7F78D4FFDBEE0B1D17161702F8CF5 +3F0315BEB9DA5C9AA38EDE6865DB11D7E2BB3598D5A3E02B1E17D4887E48E6B3935C4149AE91E725 +F73C4507EC9AF2DBFE51253FF8EA3B6071D60DB0C28187D4916588F61F93CA225F96F075A795C281 +D458EC6B6A18EA09E42500993599BBAB77E8F93F87D14F6C88283228DBE60383F7F4F3A4B69A725C +006F0693935ACD539020262A90F179FFC62B70FC3E49FF958FCFCEA0A98C0C04BAC55F6E114A561B +8E503B70379A0337D576D8C0C49B03647F77AB737F51182559C6EE35E9E0D18122D42E6DA07C6DB9 +1CD2C4553693598C46CBD60390BC1CB2930545DBF6BFB96C8724D4515B8435BDAF9B3A64AAD2B616 +4FEE2B46D4E6C7A7E3E18FF1EA95E2C9CB1E263891FF3B2C3A114FF0C2BBE8D77734E681003FA0BD +41C8F996F0B638D49EBCDC849D191BF59B286FF956B09C2568BB4B68834429759FE00C28CD78D15F +F5063B4BFABDCC7A325C5A35C85DE71364174C1CC98FEB3C75E7BD5F481A01FD66C2244AB99C1626 +A8E0AF4567A406E18E19ED68822537583E320C2DE41CE6373DC9FA085815D844A4345982ADAE9D5A +52C41E16427360322586AE3C92C48AB444652E771F1D119D4C0111AF7CEDC7FD26B7D4E0AB5C6C1B +37BAAC52DFBFBF1F583B018BB33607B533FD9FF2A8455240FA2E749AA1EC9BF1C69ABAE619ACDB67 +EB00E819D33F9CA53E1426FC85CE877E1BDD5407AEE41733420B4F424A62319D7FA0068A9FA2E10C +A71283A667690475FD63CA61EFEF0B8635DFF7F9CAAEDDB398327C31D4442E3D6FAFCC8A050EE3DD +D2CC96D4E621FC1B36D5E3D4819E110134F41ED499E1CCFEA82EF07D5DD13F0C9C333015BD1A369C +E038220E7FCD9FB27C960DF229981FA36B1E56C697F9628A3FDA64D35005AC9BF89C6096FF55721A +8845F2A5A4E7 +3E626E9FD1E2E0B2D3D458EC6E444132EF43910A2B84B3D8F1BD254B00427C00C436050B3FC154AE +A6BD959F517AA5EE89A9C2977253E6587995B18C0A45C2098EE25F4CFB0A8E5387152278E4808DD2 +1E5F7687C56A54603EBFAF21581534138AA580903E2CB9B2D338CEE88E7B583BC390CC396D43E959 +03031443A61E530FC5005D4CD69D395ECE11DCA0C9F96A711529A6001AB40D5FAB9F625F73A3436E +65555DF2EF5822FA669688AB8F450503336941CD2A83E244E0BAF92ECEEA010817E6552B263893F0 +BA9F5C79AE83A08AF97E6E6E89F0BA8A282E9837046B608F95B106DEF74587BD185FEC808C034D99 +DE6833A0B162130BB180A8B4E02B00E9A7322EE3775963D19553AF5CE7581C1BBB459A1DAF712AFD +A0CD3A4003F20FF9971310180674DECE12AE2E1B8EC6557047C509C944468C33FE5ED81D7A47D1D0 +98D4F038981FBBBAC9443E2DF0879D7A006BF282DF272DC272AD7CE1C2B681209E5B0537EB377B6C +4156220A948EA8BE837C60328516EC3BE3DB214628EFE0AE3B472FA0D2BFF4A26257AB96BD9C9FBD +6F9C5E4949C9722B3BB57C49E6CD3D389573E21421DA049C27B68E306963EDB30E1C5FBAE618CBE3 +24F3E7EA019D234011CC228C0ED0FDCA8FB52824938F773C1FB39652A561E4CE10EC1BBA96D0EFE2 +5AB80A160C2A607812DA4C1E7D3C08F9EC59AEA110DD08FCDDF5D3D26FECD131A0D2E2BB0EFF3D2F +11AF2F7420174C340FC645EAFF6F45E4AD414A757BF16B862272E91BF5446C04155C0C4DD8B460A3 +ED8F642D941BE03A6D3471299942C5AA5153FED57B95FAED0ADE8C1D4BE83C485D0B24B6B4F14309 +D51BEDF29C2690D697E435E1CF97730FB73D1A7D757F6E9921068EE6BCCBCFE600397170CF37D2B0 +D9638FC60B0A0DF09B3CD3C2F412D0812919ECA0E236B410F915FFC8CB8B91AA2CF1079E7BF05F41 +B086D512D970CFC73A0221E03B34A893D5BA84D65DFC852D750FCA2A33DD5CCCF33B5875130A0B26 +D35734D0E0A9C23E64939BB81FA2B99706A9790731BD61D2A1264A2F9BC653EEEAC56E8A74EE785C +A288866579CC7C508CAB4FAC900506BAAC12AD4F35F6A78CA7F48FA5692E8A61C71F85FDD82AA4AB +1BD0D4D111D5EFDE0E13248B86B2C810EDFBFE51D5C018CBFC02AA00059732B80BB0D6499BBCDE85 +02CA231A52A664FD4A20279381C52AEB9796F1456CEC66750FD902C6C81CAF04A6EB72531E9BD64D +D07680AF598EDECA7AF281D51E8D06551A39D7C69A007B7381CF9B33A6D832080FA520DFF9910DF1 +DF2D63BE0FCBA4BBEC2C63C31368049844BD6B611A3EB724AFC7B7C34CC9148EF02F0EF23C78E8E1 +4C6234DAB724A77F270BEB2DABE74D13987C8AC24A1952A7E7884834D281564DBD61A94D6AC4840C +CD23A82DEC47932EDF401E96FC0D4706719A0999C860382B93A42868D135556A6B2A7979714ACD18 +E2987201E1680ED0A51547B6614EC1CBFD2A909A9475ED093E9C60A9F19C8EFD03A83DBB2903A0B1 +55287AA30B322DD762F5E56ABD01462715A85C463F549C988385E290D8EB28DAB43C638BDDAD7763 +3A65212B23BF14B94F0CD70054D5CC105089C197CFA334BD2953D5807B565D92E47C1813629FE350 +DBFA80D1A0A965BD78DD9A53E7CFBF679EBA2CE2CE2A6E2E08DE337FCC422AE04D553135B1A0D70D +5684BEF2C9101C4CEB010A4D16FEF7D9A23F5B419E1FC329703EEBEB719D01C0607235806FD21E6F +ADA17CE11F91AE617B7A01A032C08D225BFA6089163EDC3FD1298C7C9DF1D26A23D7247A89C324F9 +3F69F1F06214D04D7A5307AFCA1C27B86F9E3DA91AF7AA0D0E824F587F4A5F88ECF88B84FE2A727E +66C8232DF6D8DEEAB70B4F751DC95D6D45F67723FA341B697D120FC2DCB214FB13B0D23AAD220755 +D4D6FC8C1A82DEFC692DD03B3DCF3208483841CB5740128933BFBA9ADEA67777F19AE9C77D926BE4 +0895E4B1C2670A48EFB295DF5BF9E046A33F0DF3AB77AD9F432158E575C59E3CBFAD1453B9664EC0 +6458F1495C18F614B219A8C7FD49A0BA5571E8EDC58364093E5B1A9C3BD3DF06DE29C75DED168617 +B96F50F9DE64142CE24EC1F76F04132285E378C16B60C8672A3731389A0D344E61A6B5A4F40D8529 +9C92E7AB63D35A3C7490B4B5DA651D651139A186622C8A92562F96AEBB7771010A3A9D9C0D1F3464 +E39E9561731C0D697DD8A07D01359A1A28A6032C53DB643560F42A6836DD5B4393BCE7765B1591AA +67E7E472E9C43EE771B9DA2174532B42FC7E24EF886FB4345C4730B13F6BF1C14F97B4D201E71B91 +0DCD9450D6A902E2D9A1096CCC6EE43A1ADC841E70B76FE7AD671ADDC4D9DDA85919793F54DC1CA2 +02F0A65C374FFFB2C1B4B0055151A0EBC83F94745723B65DD0841C780C9933BF46D0984C384A5E26 +8319D6571466D83253AB30DF41B9E45661CD0C956DA734212B94D0B3AD1BC7BF6761EE5500606262 +C2372DF01450AEA52F208092D1C85E092ECCC022A3243AFFEA5F31D5D5032D5FD1A903ADB37A29E5 +E321E3ECE57BABCDCC345146CF6EC1A7C831B40A46A2F6FD9815B8A3E79F34D748FFB26B3083308A +A4ED1A8806CBB59724E350189BEE7D6526B5E13639FD4462B78915D80A47C0A83048043CB38A867F +5876027C25366632CCBC9D0E94DDD4446E5B7BD48035C9B0B4CCB0378367204A8CA1442FFB15147E +EDB3996BF7CE9A2932B62F8FD13E3ADF4646410383F9C5D15F50D02AAC35648A15685C4F54315169 +F3200B4DF24DA7338FC1DB2B537E574449BDF976BDC6FAF8087F198A20665BABB30020BBB21F6143 +ABCFBA94E58B103DCF7FEA189F04E2C41B1E0916FD9EDFC1E1A74A352A3394DA0B1454E701EDD55C +9A62217B9CE8 +85BF7A858B827D7F5C60AF6176C9EBB29BDF7E0936F1AB4E0C8CF6B1C56AEE9487A7E54A3363C815 +5400231B9984EE3E720E57A34280F6601B2C1CF86AB4AB6FA6794058F01373B868EC3CD3F53C7E09 +1007EEF4F487E6EF9B77774E1BE7CD6ED62AC6462F6E4F96B4C5769670F638B3A10EE70F51211C80 +00612D788ADDCABB736431884CCCC9BB2F7C4D7148B6C4DB3B8DFF89121126FF3BD530B66617BC55 +9448C361AB35D6E8B1E864760F69305C0F2D7688B4165D22449059F5C78D7B487F37042DF48074C2 +66E0C79CA643D03FC7AC280D5309B9AA18146EAF9F7BB8F8FD28FD1C9D597544C2B45B15D6DE4676 +60FE62FE76819F744BA5182D2242C512049FC05D689F248E0001FC877B104D4E399EB2F6FA3CFD8B +F82577FF79598B411B989E8E511ABC92E3E3393E67152C686E87C38E31D98EFF5FB653B8D4399B5B +C7AAFE012D0161588EBF5CBD09BB8596EC1EC226DDC80BCD299081F70BF2EAB59B8377EACA58DFF3 +755546971A8EE109302ADBD848E43A7F7AF726D981448E68A4B4347C701AA89F93CCD6AA3D509C47 +E84A56B1FF6C60AB0FC13E15EAD1DCAF7E927637C13D511A90D84AAC61371DA462BA2ED308B03963 +D7B0FE9F9D25AF2FD2CF2B55D9C4405E158E9C3D51AA4522EA8B9FD45AC4E9A51B38F2FD60A8CE12 +8DBE809ECA1484681089E08D2AFF967B44D2061F8D07B41B41A31546579A3A7262939933E84F56EC +4B125EE0F98E0C77E3F47F9E9DE05443AA2F5C6A83E0B098332ABC254458A059B966288C17C57CA7 +B967C5F87CFA1CD2A286CD8AF76E3875CC4787F94FC224B3273E15BA7F8E584836144F7CDBDBE9C8 +DA823D4D681B1C1C95CD9D26FD31346BEE43D9E90E99E55DBAA839B2B28132F930FBA825DC776C23 +882B63DC5EFA49ECA0987BDD35FA1240A9EC233D7734E4C59073FBFB1595A22DC96E6BC797EF81B3 +AB0D22F85F0048A058A24CB724D3797D572C1EBFED16FBA6D22A1DBAF3BAB4A769F3764AEA4B86D1 +C82F80ED9CBFE506FF940CCAC3B01F292C6486BE4727B958BF1B027D71E9BBE6DA21A249F2399DDD +06D89490873B2DE11130173C1BD2B94554F47CF10999ABDF2A73E3A7EB84218205DC5581FCF93FEB +47ADF9F7BAE188DD264B21590730ABD042E6320735A749A005CF79A4E030296DD832165E88116491 +74A91AEC3F8D29258077F712712F1CDDE901878471BEEB7092DDA90B8E5009C05345686282F298DB +F0125494E0E7A4F5BEBBEDA2E4A40DA5412DEDF278382AEABBD8397037C9B188F3AD1003D2CB0748 +F17569340A4F721BCC8EB709C4A3C8978D4AC80A77E4F45A6B858AABD044DC6E41DCE46126E03DD3 +2629C4C070401E08FBD754524F0A198C5A96B37CC2E1C2298201E7996A85AFD14430710026D3E5FE +1160AB432F95E9E96632053C637D89EB2F66518F4D7E6426637172C77985437040368B2D4E32F932 +01379D467EFB6B3E0B8288CD93FCA47E9330DD694837F312C3339F6E41AF351D6BC963B65F2490D2 +B8DACC638210CF7B788938497DA79242373C70B65657BEEB139F67330B87FC21268AEE54D508BD3F +7730E811EDA1B89E94E33AB60BF96BF3E32B37CBA547A8B252B213709550923BF24D06286DD2849F +6767FD8CD828227FE2CF0DCA3DE846E0F883F5BAF7536A7E4139BA695716CE3B9BBAF5E5502DCC1D +F331450E0E36CE9AA104D84869D1FB9FD7B304CF1EC05162CBBC9E07561582EE45C2E2E3E94D4EBF +765E098EB66C8E746E9C4FAF6CDD2BFF26DE06A7B174F2E98FC5BAFB9F6FB3FD3E98778E9330A8FE +BD0881D7837DCD4D3BE8AABCE34A3F1672C2AB7E7A399D84481155B0A8D69E2896A998A940D4AA06 +419204F601F2366F355111E5180B4FD332645884FB3B68D8EBAA5C66AF8EC6F83A3617B66AAC4785 +3E36E06643A4F27EDE9E1818DA217B144473D121DAEEAA9F116E1927E3E4224AF3E7DDBB0DECC79B +609B8D0C5CD33DF6367FAA1A4318856372F8E61BAC49A05EA9CF3AE27BE6023DE703D85B0E751B17 +B637D874FAA01B40AAEB8871328874621ABD55284F704F92C7A310C16751415BCA94E5D1A5ACBA2A +15FD714CEE3B849B5D89F9EC734CC5E43B3099DF6DFBC9685493C5985D7472E51DD9F913C7881E2B +4D49479A817737B754E7BF2C4BF1C379CDF2A96BD5E2F2E32B95F7BFF1E49B283A7227279F73129E +0FD7CAEB1BDB5F5E161D8E2E9DBA31C1953A46401AE340ED518511AA4F40CD6A8262B2BD37EC3DA1 +EDDED244EBD2999F2A07E29022979015BBF32EBBD95F73866092CA251D16F0D147FEC0ABB2803188 +3ED27B15F9A7E42AFF8932EAA349BF07B19B6D0BE2A0622B8F495C07E25A477F2354CBA5DC716AC5 +49D85C00CD06D87D4A8B53D3A18CBE5D125741629BF13E6065AF779274C9DDE20B202CF10860D9D4 +B23A993C38E0D75ACCE02DD16948E002B439BFFC2B5E02A14E331D8AAF8E35AA554B9D2FA35E2160 +DCABE967D4A5B084D7DCBC3D931EB6CC51036E23D3B4DE29C073A1EE5AC6D424ADF774DAEC3A799D +423156189DB133665A0202E29A7B253DB077376D3C9CFC622834038EEFC377E3B4AA8E64454D599F +A91C2885567FF8D814590A42C07E7F02B552926FD500A0EEF85FA5777103C76ADF4C149768C3BD0E +51217C076EDA455DA3F1332AABD8875A38C6F6AB42C5500DF3A838642F93CFB0A175E6CFE3609061 +0892E012B4ECA3EDB1EC5DF50472DE6BE445C37BAB72F753598E1CC48A6FE44ADEDE7093194A9CE9 +38B1899F00998C112E09CBBD0A67C476215C683D46969D2EDCE088AC8EEBC44D4EE037ED3C879773 +8485F0F399B0555787A05F8099C585CA4B28403AC1215B6874FC81C7A5F8C65FE676C26B3605D0D0 +CF224A5BB2C8 +372E74F638EAD44BA16EBCFDA7D567311DA7ACB7DE2F6F9A02969609398D55C39C93B5528552DC9F +D99CECE5CFB78E8E20D26D523D2091E812C6415CF8646220DECEDE9BDF6F2DB4F9095180FBCEB118 +9299B17473E67DB439A57448FACABAD1E03E406615AC1D23DBB957982A19794EC38B6655E33928D9 +45808F0C13CC4FBF4FAEE9FB749340D81FEDF3DC4B0B67642B1755B2F179946AA233383450EB1419 +64D6CC0002907DEB3BF0B433929EDAB763C82F6CD45619473D27DBD0A020DB139C42072793E94BCF +C8BAD5CD12759E21163A9F92DE26472053C14CEE5A2DC1D1DC54A5330EF5298531EC84129BE13950 +04FBAD04DC1CFA847201608FEB466BDD90B0D397E7A4381F8E27200DDB16808119E17ECA8C81BFA1 +E77C17B42987809F2712B4D9E337E5D4965AA3791707B53114BCABA4C2A3EC443BF6D8818BEBFBBA +B19DA24EBBB2660EFC89A6B121352A399E10D017FD0F86A8C4B1B01DC90A97CBB4D7716F768C3C90 +597495D2C98827F6B5F52EA96C994D3015F8CBCB341892042ABEE46EE4C1DAE16DA2480BE47E1280 +12FCB1F58112F034264FB0A8B56E202CA673CABC5151DAFE90C70B54398377048C64376B93200EA2 +01497538191F316458BF96D8E5872D621BE96F9853BA61E64016038002A79E0C31AA527513EF95BC +27F98E68601CBA97F4902E3D80935C64A3A3A40182DA6501FEB0BF8E15BFA219C9835A458A70F83E +52902304EC496BE02F1E2B2BD4502896F2AAE77E301BF4EE44E1BCC4910B7D2A875E8651E9D75459 +3E9F9CD3AC49A786ED30B3F9FF5F6D8A3C1EE0787C159496EF6944F3D73B49672C0D1901E4671DEF +DA60B9DD15F1FAE2DF0531B359BB983D48FFDE26C265F9EE9B6FE3C44248F40A6BB24D95766A102C +C9E24904E8DD9A95052408F26F6FBC08638309356D373991EC0D560271A75D2B34F51DB82784E389 +3476F029FA4F7798BF8445E13AB4F41D79AC244A4EF87D0114F3E4F2AA3DDE61F0720C86C708EDE5 +E9F05182C7AF4921CCEE2AFF1DCBEB5244CB7F8F7877D0E688A9F3B27A6514BC77D1D4BB2D3D2A34 +B5D69C889500812F36E42FBE680E3E52C5E673BAAB50041D7B26BBD5E88CD6C2973E7D2FC9023839 +58A8B0D049AF96AA5C5C88C1549708FF220465424A9EAA104ADA91F0ECBB1BC87C77BC7CFD207139 +99DD1F27FCE42CDFE10A40DAEE4E01A4EC591A58CA48EB5D0E591E4F571E64B7B691F75E009AFD89 +1732372F340C3ADA18569EAB3E1282D43B660BC410944C43088597C6D9E4AC56A735A18232425CC0 +74ADACFFF15BD5F5706079D376FFC1239BDE2F247FA5FA93098596775C84F7A6387CA514A6E63609 +9D93434195CDC5CFBAB57F28AB13EDE4E3B506EC27012C763BA9A953BD8C23A00201E197DF5BB415 +A25BE183DD4CD9D8CA8C68CC9E30D5DB91F10F62A9974C19541DE0FAE28A108D92B7167D46183302 +1D51E908ED6FFE4AF91250F9B9067B19653C5FCC901D4FE188F53D0270CF2483CF39F8C0A2CA66B8 +23217D5A31B6498FEBC24B0D5920338E50F6497D7F793DEBB712B71C6E7083926AE6A3D20F2F6BB5 +95D696E2EA9EEF8F935F728D1ED6DABADDF79E2D6E7169AD57C11414ED53168B1249763E1922A044 +2F160A8A3FA286EE79BE82E31631E4954570F47CF10999BE8DCB98139A9E4407112313B75E2A0B2B +C1886DFAEBA5B1FEF2E99D4DD242CAED13EAF9E9EB3C2E7A73E474F76F530E7BC56875293850F322 +E06E70A965CB3D3435695E096AAF502DB60F2E9CD0605578E211B9ED055898F016C46E7D9B01BCD7 +2B7D9684ED7317BF1ED07A2A789AF60A6ECCC7745A0AF4573FD3711A245ADD5665927D263097AD60 +AED5192C624515C87E4A340FB7594A0F3B05640FB0AFC6CF0958A24EE548909427DF7B1D94D42816 +97FD90CC113F08C26B52D1F1FA6EBB71D9B3E2CBA30935E81D23216A9A0AC8108E27E8040A31CBF8 +38C39F8FBE9B10F70729AFBCDE0B1D11E60A73F09CB37E4D6E99B1751C3DEFEE20DE5BAEAA6CE8A3 +524889FA0CE9D7D1B2C0041D86B748BC7649C9BF3392DF7650AE3BEB543FC304BCA194B1EE737190 +DAC4288DC90B5C4712BE0B34D7A4EFDB3427747516633338685366A4579DA2CBFAA23734CDFAF69E +5DCE3D8F05944E65B9ADC16D2AF1FD6463559CBC5C523CAE126DED1BFB5024619339B325BA41FEDE +14FEE5079AB0224642824C45AE481D137E162ACEBC6F5A2A2F0079A403E753A23A9F9EE91B62E678 +54E7BB414854A08247AC21CB021541C1F2040B7C5C4AB4B83B0F41A7A1E647BDA9B08007404BF6E9 +450685674F9EB5F0C352EF9E8C25B1BA60ECED0EFFAACB7434F5F4BA5AFFDD3FBDE46806AD2F1C9F +60ED8E949FC95FAB46F9865EDBAB01E83C865DE15365276CAFB4316CA1866042F1E48FEE92552934 +1DC331F25F3B55CBE98D353BBD4BD8837C3242150D2BA0014764EC1A17C4604B1D93CCA1C56DF64B +77D37C795E66CFADF7640294F036A8D9413E1E10A7FB68731C8C0154CC3DFF6D83D1937C57B9966C +7A168A20D41690ADC712041025C686F982EB54D528EA66DF185972E39C1E0821AEAF15AD6E133B16 +2BE0594EAE68589EE61BCBF3CD2FC497BBF6096D2D0C240DE535DD5734A54F55857C67B318DE5321 +B0DD80E15724E4A7385C5B6C0D208D2692CED6320E70DB18211F84F520C7A8AA459AAD4CE0BDEB44 +EA9F8B9B80DDE6578CF3404F3B606F54C95310CC69B01D6035DD7603F122A9597087F10F46471F94 +A1D2678CC83F1DB8F21DB490163E3DE9E6844738CA7F86B1F285665F2B8B9AF9376E75467DBD1E3B +E694DDCB04BDEA5BF1CE3F4DF4BD48E1A387DF00208A781AA90F36C2273F7AD7EAEC3D17612CC397 +0B1168100DAD +865B297DC7E3A5CFD27F12A9F2D4E4F431562E5CCD48E96FFDB1434ABCC353FB801FB14CE8DFFA9F +82BEE66B72C2F026267F47D06734FBE96169B3F339EC8BAF2473D8E64146A68D352F5E2FF8ADE0D9 +7A00470B877881579EB34C7C0A6FFB25AA7BBDD68A5FA4A5025F526461A102488F5272539EDB19BF +B9F0C3F585B5231F9E3E022DEC007228CB0D5F6DFFEA1B906AC192A01630705713DB96DAA79CB056 +0366B823388CE3734F9755E1DB4DE4F79DAC02547C30A8215DE29081E2B39314609C316EB8751041 +FC3328939AAFADE87CB4BF159C6652730130BFA203465FBC007C37DA39E1B4BA45C31A07695DC716 +F20F14E3D984BD641F6056263D2B873DB1FA976A07AACC0FF69D3E2C552D76AE17071D4154EA8EAD +38E4EF518687C31B946C21336C77C70EA8074E27BBE018E8FD5DCDB4E57491FBFC8B0AACF75D86E3 +4B357118D10175D61F5A40A1C61FFD9FA10BAF7022427E9E5ABB71CF1BF676A4ADAA58E5CF387381 +8AEE1B02DE9D7900EEFECA8AB62905A6A6C05E06E751603A72649880A4DA738A2D5D59171BB90095 +E5168B4CD456EA0B257A5BB0123411EAB298826E99E8BD6E933F01A7A82362E672DF125B94E14836 +858A0C40017AC8EC4E0918299AC7E76B386C92D99BF0127525619ECBBBEF53A39C05E9FEAF498850 +675644EF24FCF3D29E374181603341AB7A4B1CCC8CCCFDF32D4AE90018F8840DCBAEF917CC7E01BD +28A7734D54BD87EDFF2D5E58E0C2A0A7A840009A36EEF75F145FB0C58A19AF37DC0F4174BC21C935 +6DD16346A62DFA94F17BBB123898D8DBF014DA164BDA225847EB2E7155C6F3 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%Title: (Print a series of words going along two axes) +%%Creator: Michel Goossens CERN CN/ASD +%%CreationDate: Feb. 15th 1994 +%%DocumentNeededResources: font(s) defined by user +%%EndComments +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% MAIN ROUTINE % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +/y 140 def +300 100 700 % outer loop on width>>>>>>>>>>>>+ + { % v + /x 25 def % reset x v + /y y 25 sub def % calculate y v + /Wi exch def % width from for loop<<+ + 220 100 820 % inner loop on weight>>>>>>>>>>>+ + { % v + x y moveto % go to new coordinate v + /We exch def % weight from for loop<<+ + /MM /MyriadMM findfont dup begin [ + We Wi NormalizeDesignVector ConvertDesignVector + ] end makeblendedfont definefont 20 scalefont setfont + (Hxkp) show + /x x 55 add def % calculate x + } for + } for +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/5_3/noinfo.pic b/usergrps/uktug/baskervi/5_3/noinfo.pic new file mode 100644 index 0000000000..9bcf405916 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/noinfo.pic @@ -0,0 +1,8 @@ +\unitlength=1.00mm +\linethickness{0.4pt} +\begin{picture}(78.00,23.00) +\put(0.00,10.00){\framebox(25.00,13.00)[cc]{\shortstack{local\\layer}}} +\put(0.00,0.00){\framebox(25.00,8.00)[cc]{ASCII}} +\put(29.00,12.00){\vector(1,0){20.00}} +\put(53.00,6.00){\framebox(25.00,11.00)[cc]{typography}} +\end{picture} diff --git a/usergrps/uktug/baskervi/5_3/norm.tex b/usergrps/uktug/baskervi/5_3/norm.tex new file mode 100644 index 0000000000..1a1e9fa202 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/norm.tex @@ -0,0 +1,502 @@ +Return-Path: <owner-twg-tds@SHSU.edu>
+Delivery-Date:
+Received: from odin.shsu.edu (no rfc931) by swan.cl.cam.ac.uk
+ with SMTP (PP-6.5) outside ac.uk; Fri, 10 Mar 1995 19:27:50 +0000
+X-ListName: TUG Technical Working Group -- Directory Structures (WG-94-07)
+ <TWG-TDS@SHSU.edu>
+Warnings-To: <>
+Errors-To: owner-twg-tds@SHSU.edu
+Sender: owner-twg-tds@SHSU.edu
+Received: from jasper.ora.com by Niord.shsu.edu (MX V4.1 VAX) with SMTP;
+ Fri, 10 Mar 1995 13:21:22 CDT
+Received: (norm@localhost) by jasper.ora.com (8.6.10/8.6.4) id OAA02753;
+ Fri, 10 Mar 1995 14:17:10 -0500
+Date: Fri, 10 Mar 1995 14:17:10 -0500
+From: norm@ora.com (Norman Walsh)
+Message-ID: <199503101917.OAA02753@jasper.ora.com>
+To: TWG-TDS@SHSU.edu
+Subject: Re: Editorial comments, etc.
+References: <9503101745.AA03188@cfcl.com>
+Reply-To: TWG-TDS@SHSU.edu
+
+On 10 March 1995 at 09:45:40, Rich Morin wrote:
+> Norm, is there *any* chance that your appendix could be freed up for
+> public domain use? It looks like you have a good start on the kind of
+> documentation I have in mind, and I'd hate to have to recapitulate it!
+
+Ask and ye shall receive. I can reproduce App A in the TDS. I've
+attached it below. Rich, if you could add the new bits ;-)
+
+But first, here's the definition of iplist, 'cause you'll need that
+to format it. LaTeX gurus who wish to laugh at my style are requested
+to do it quietly ;-)
+
+----
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% An IP list is a configurable ``description'' like environment. The
+% width of the first column is set by a parameter.
+%
+\def\iplabel#1{\hbox{\labeltextfont{#1}}\hss}
+
+\newdimen\ipindent
+\def\ipitem[#1]{%
+ \item[#1]
+ \setbox0=\hbox{#1}%
+ \ifdim\wd0>\ipindent\leavevmode\par\fi%
+}
+
+\def\ip@list[#1]#2{\list{}{\labelwidth#2 \itemindent\z@ \leftmargin#2
+ \advance\leftmargin\labelsep
+ \ipindent=#2\relax
+ \let\labeltextfont=#1\relax
+ \let\makelabel\iplabel}}
+
+\def\iplist{\@ifnextchar [% ]
+ {\ip@list}{\ip@list[\textbf]}}
+
+\let\endiplist\endlist
+
+\let\wrapipitem=\item
+----
+
+\chapter{Filename Extension Summary}
+\RCSID$Id: ap01.tex 2.10 1994/07/28 15:04:21 deutsch Exp norm $
+\label{chap:fileext}
+
+\def\extitem[#1]{%
+ {\fontsize{11}{13pt}\selectfont%
+ \ipitem [ \textit{\textbf{\uppercase{#1}}} ]
+ }
+}
+
+\ifincludechapter\else\endinput\fi
+
+This chapter summarizes many common filename extensions. The extensions
+are listed in alphabetical order. All extensions can be shortened
+to three letters for consistency with operating systems that do not allow
+longer file extensions. On other file systems, they may be slightly
+different. For example, \ext{EPS} files are sometimes called
+\ext{EPSF} files on \Unix\ systems, which allow longer filenames.
+
+\begin{iplist}{.25in}
+
+\extitem [abf] An Adobe binary screen font file contains a binary encoding
+of a BDF (bitmap distribution format) file. Binary encoding makes the
+files smaller, but it also makes
+them less portable and unintelligible to humans. The binary format is
+described in Adobe's ABF Format Specification~\cite{abffiles}.
+BDF files are described below.
+
+\extitem [afm] Adobe font metrics files are ASCII files distributed with
+\ps\ Type~1 fonts. Type~1 fonts are the linearly scalable fonts that
+\ps\ printer users are most familiar with. Bounding boxes, an encoding
+vector (what characters go where),
+kerning,
+and
+ligature
+information
+are among the things described in this file. The AFM file format is
+described completely in Adobe's AFM Format
+Specification~\cite{afmfiles}.
+
+\ps\ fonts (available through commercial vendors or from the
+Internet) are supplied with AFM files. Generally, the only occasion
+that you would have to modify an AFM file would be to change the
+encoding vector.
+
+\extitem [aux] Auxiliary files are built by \LaTeX\ each time it formats
+a document. \LaTeX\ writes information about cross references, citations,
+etc., to the auxiliary file for post-processing by other tools, or
+for \TeX\ processing the next time this document is formatted.
+
+\newpage
+\extitem [bbl] Bibliography files are created by \BibTeX\ from the citations in
+your document, the bibliography databases (BIB) that you specify, and the
+bibliography style (BST) you use. \BibTeX\ writes the resulting
+bibliography to the BBL file, which is automatically included in your \LaTeX\
+document at the place where you define the bibliography.
+
+\extitem [bdf] Bitmap distribution format files are ASCII files that describe
+a bitmap font. They are frequently used to distribute bitmap versions of
+scalable fonts in screen resolution at common sizes. They are resolution
+specific, but they are portable from one architecture to another. The BDF
+file format is described completely in Adobe's BDF Format
+Specification~\cite{bdffiles}.
+
+Some fonts packages are distributed with BDF files.
+Other BDF files are created as part of the conversion process from native
+format to X11 format. It is unlikely that you would ever create one purely
+by hand.
+
+\extitem [bib] Bibliography databases contain bibliographic information.
+These are generally handwritten and may contain bibliographic information
+for all of the sources that you are (ever) likely to cite. The \BibTeX\
+program reads information about each work that you \verb|\cite{}| from
+the BIB file. Consult the documentation for \BibTeX\ for more information
+about the format of BIB files.
+
+\extitem [blg] \BibTeX\ log files record the status of the last run of
+\BibTeX.
+
+\extitem [bst] Bibliography style files are used by \BibTeX\ to define the layout
+of the citations. \BibTeX\ produces \LaTeX\ commands in the BBL file that
+define the citations in the format specified by the BST file.
+
+You may eventually write or modify a bibliography style file, but it is less
+common than modifying \LaTeX\ style files because bibliographies
+have a more rigidly defined format. Consult the documentation for \BibTeX\ for
+more information about the format of BST files.
+
+\extitem [bzr] The GNU fontutils define the BZR format to hold
+generic scalable font data. The file actually contains the specification
+for a series of bezier curves. The BZR file format is defined in
+the \TeXinfo\ pages that accompany the GNU fontutils.
+The GNU fontutils create BZR files.
+
+\newpage
+\extitem [dvi] \TeX\ produces device-independent output in the DVI file.
+This file describes the \TeX{}ed document in a simple stack language that can
+be rendered on any device. The format of DVI files is described in the
+\web\ documentation for \program{DVItype}, or in {\em The DVI Drivers
+Standard}~\cite{dvi:standard}.
+
+\TeX\ (and some \program{MFware} utilities) produces DVI files.
+
+\hyphenation{encap-sulated}
+\extitem [epsf] Encapsulated \ps\ files contain scalable \ps\ images and extra information (such as the size of
+the image's bounding box) that is necessary to scale the image appropriately
+for printing, unlike generic \ps. Using encapsulated \ps\ images in your \TeX\ document
+requires a DVI driver that understands \ps\ \verb|\special|s. How to include
+pictures and figures via encapsulated PostScript is described
+in detail in Chapter~\ref{chap:pictures}, {\it \nameref{chap:pictures}}.
+
+You are unlikely to create encapsulated \ps\ files by hand, but many
+drawing and drafting programs can create them for you.
+
+\extitem [fig] FIG files are created by the \program{XFig} program (and
+possibly other programs). The scalable representation of a collection of
+graphics objects is stored in ASCII form in FIG files. The
+\program{transfig} program can translate FIG files into a number of
+other formats including EPSF, HPGL, and a variety of \LaTeX\ environments.
+
+\extitem [fli] Font libraries are distributed with \emTeX. They contain a
+collection of PK files. Font libraries have several advantages over
+a directory full of PK files: they are easier to maintain (because you
+don't have to deal with hundreds of files); they are faster to search (because
+they are indexed more efficiently than a directory); they are smaller
+(because {\em each} PK file wastes an average of half a cluster of
+disk space); and the name of each font is not limited to eight characters as
+it is under MS-DOS file naming conventions.
+
+Note: \program{dvips} can also use \emTeX\ FLI files.
+
+\extitem [gf] Generic font files contain bitmap data for the characters of a
+font. The GF format is very simple, and many \TeX\ related programs that
+create fonts produce GF files. The disadvantage of GF files is that they are
+very large (because no compression is performed). The format of GF files is
+described in the \web\ documentation for \program{GFtoPK} (or any of the
+GF-related \program{MFware} programs).
+
+\MF\ is the primary source for GF files. Some other programs (some
+of the GNU fontutils, for example) also produce GF files.
+
+\extitem [gif] Graphics interchange format is a CompuServe bitmap graphics
+standard. GIF files are very popular, and a number of converters (e.g.,
+\program{BM2FONT}) can translate GIF files into a format usable by \TeX.
+
+\extitem [glo] Glossary files are produced by the \LaTeX\ \verb|\glossary|
+command. They are analogous to the IDX files produced by the \verb|\index|
+commands. The glossary is inserted in your document wherever the
+\verb|\makeglossary| command occurs.
+
+\extitem [gsf] Ghostscript fonts are scalable fonts very similar
+to \ps\ Type~1 fonts. Theoretically, \program{Ghostscript} can
+use \ps\ Type~1 fonts directly, although I have never tried.
+Several GSF fonts are distributed with \program{Ghostscript}.
+
+\extitem [hpgl] Hewlett-Packard GL is a plotter language. Many programs can
+produce vector graphics in HPGL format.
+
+\extitem [hptfm] Hewlett-Packard tagged font metric files are a lot like \TeX\
+TFM files. It is unfortunate that both files have the extension TFM
+because they are completely incompatible. You can generate \TeX\ TFM files
+from HPTFMs with the \program{HPTFM2PL} program.
+
+\extitem [idx] Index files are produced automatically when you use the
+\verb|\index| commands in \LaTeX. The IDX file contains raw indexing data
+that will be used by the \program{MakeIndex} program to build an index for
+your document. You must include the \filename{makeidx} style in your
+\verb|documentstyle| command, and you must turn on indexing with
+\verb|\makeindex| in the preamble of your document if you wish to (re)build
+the index. See the entry for IND files below for more information.
+
+\extitem [ilg] \program{MakeIndex} log files record the status of the last run of
+\program{MakeIndex}.
+
+\extitem [img] The IMG format is a particular bitmapped image
+format used by the GEM Window System (a PC-based windowed desktop
+interface product). The GNU fontutils read IMG files as their default
+format.
+The \program{PBMplus} utilities\footnote{The
+\program{PBMplus} utilities are a collection of programs that allow conversion between
+different graphic formats by using the PBM format as a transition step.}
+can convert between many graphics file formats, including IMG.
+
+\newpage
+Some scanning software produces IMG files directly. Other IMG files
+are distributed by the Free Software Foundation as part of an ongoing
+project to produce high-quality, free typefaces.
+
+\extitem [ind] Index files are produced by the \program{MakeIndex} and
+automatically get included into your \LaTeX\ document wherever you
+put the \verb|\printindex| command. The \verb|\index| commands in your
+\LaTeX\ document write raw indexing data to the IDX file. \program{MakeIndex}
+reads the IDX file, sorts and formats the index according to the IST file,
+and produces an IND file for your document.
+
+\extitem [ist] Index specification files are used by \program{MakeIndex} to
+format the index file. Consult the documentation for \program{MakeIndex}
+for more information.
+
+\extitem [jpeg] JPEG files are compressed bitmap images. Because JPEG files
+use a ``lossy'' compression algorithm, they are frequently much smaller
+than other formats.
+
+\extitem [lof] List of figures files are produced by the \verb|\listoffigures|
+command in \LaTeX. After seeing \verb|\listoffigures|, \LaTeX\ writes
+figure captions to the LOF file. The next time the document is formatted,
+\LaTeX\ will insert the LOF file at the point where you issue the
+\verb|\listoffigures| command.
+
+\extitem [log] Log files are always produced by \TeX\ and \MF. The LOG file is
+generally uninteresting. Status and warning messages deemed too trivial (or
+too detailed) for the display are written to the log file (all messages
+written to the display are also written to the log).
+
+\extitem [lot] List of tables files are exactly analogous to LOF files.
+
+\extitem [mf] Just as \TeX\ reads TEX files, which are plain ASCII
+descriptions of a typeset document, \MF\ reads MF files, which are plain
+ASCII descriptions of a typeface. \MF\ and MF files are the topic of
+Knuth's \MFbook~\cite{kn:mfbook}. Unlike \ps\ fonts, \MF\ fonts are
+not linearly scaled.\footnote{Linear versus non-linear scaling is a typographic
+issue better discussed elsewhere. I mention it here just for
+completeness.}
+
+The standard \TeX\ distribution contains the MF files for the Computer
+Modern fonts. Knuth has produced several more MF files to demonstrate \MF.
+The American Mathematical Society has extended Computer Modern with several
+more. The \program{MFpic} macro package produces MF files from a picture-like
+environment in \TeX. \TheMFbook\ describes how to create your own fonts
+with \MF.
+
+The {\em List of MetaFonts}~\cite{lreq:metafonts} is posted
+occasionally to the newsgroups \path|comp.text.tex| and \path|comp.fonts|.
+
+Chapter~\ref{chap:mf}, {\it \nameref{chap:mf}}, describes \MF\ in more detail.
+The \TeX\ fonts available in \MF\ format are listed in
+Chapter~\ref{chap:fonts}, {\it \nameref{chap:fonts}}.
+
+\extitem [mfj] MFjob files are plain ASCII files that contain instructions for
+\program{MFjob}, an \emTeX\ program that builds groups of
+\MF\ fonts. MFJ files can be created by hand to automate the process of
+building a set of fonts. They are also created by the \emTeX\ DVI drivers if
+automatic font generation is being used.
+
+\extitem [msp] Microsoft Paint files contain bitmapped graphic images. They
+can be included in a \TeX\ document with \verb|\special| commands recognized
+by the \emTeX\ DVI drivers.
+
+\extitem [pbm] The portable bitmap format is a flexible bitmap
+representation introduced by the \program{PBMplus} package. The \program{PBMplus}
+utilities allow for the conversion of PBM format files to and from
+almost anything else. The PBM format (and all the utilities) are
+described in the manpages that accompany the \program{PBMplus} toolkit
+distribution.
+
+The PBM toolkit and many other X11 graphics utilities can read and
+write PBM files (e.g. XV).
+
+\extitem [pcf] The PCF format is one of several X11 bitmap font formats.
+Architecture-specific versions of X11 use PCF files. Other architectures use
+one of a number of other architecture-specific formats (e.g., SNF). PCF files
+are used by at least the DEC versions of the X11 server. The X11
+distribution for your architecture includes a program that will convert BDF
+files to the standard adopted for your architecture.
+
+PCF files are almost invariably created from some other source.
+It is unlikely that you will ever create one by hand.
+
+\extitem [pcl] PCL files contain printer commands for HP LaserJet printers.
+DVI drivers for HP LaserJet printers create PCL files. It is possible to
+get information out of some PCL files with \program{pcltomsp}.
+
+\extitem [pcx] PCX files contain bitmapped graphic images. They
+can be included in a \TeX\ document with \verb|\special| commands recognized
+by the \emTeX\ DVI drivers.
+
+\extitem [pfa] Printer font ASCII files contain scalable outline data that
+describes each character in a Type~1 font. A large portion of this file is
+encrypted, so it is an ASCII file only in the sense that the binary portion
+is represented as a string of hexadecimal ASCII digits. This is
+traditional \ps\ because it is pure ASCII. See PFB below.
+
+Type~1 outline fonts are created by special font editing programs or
+conversion tools (e.g. the GNU fontutils).
+
+\extitem [pfb] Printer font binary files, like PFA files, contain the
+outline data for \ps\ Type~1 fonts. The binary format was adopted to save
+space (they are generally about half the size of their PFA
+counterparts).\footnote{The proof is left as an exercise to the reader (I
+always wanted to say that).}
+Because they are binary files, it is more difficult to transfer them from
+one architecture to another (endian-ness, binary transmission, etc.). \ps\
+purists are apt to disparage them.
+
+\extitem [pfm] Printer font metric files are a Microsoft Windows standard.
+They are encountered frequently in archives that contain Type~1 fonts.
+Unfortunately, these archives occasionally fail to include AFM files,
+which are more standard outside of the Windows community. Even more
+unfortunately, PFM files do not contain all of the information that is
+in an AFM file. However, the \program{PFM2AFM} program can construct a
+partial AFM file. I believe that the PFM file format is described
+in a Microsoft technical note; however, I have never seen it.
+
+Unless you use Microsoft Windows, PFM files are likely to be
+useless. If you need PFM files, the MS-DOS program \program{Refont} can
+create them from AFM files.
+
+\extitem [pk] Most \TeX\ DVI conversion programs read packed bitmap font
+files. The PK font format defines a clever scheme that allows
+bitmap fonts to be compressed significantly. The format of PK files is
+described in the \web\ documentation for \program{PKtype} (or any of the
+PK-related \program{MFware} programs).
+
+You are unlikely to create PK files by hand, per se, but there are a number
+of utility programs that ultimately create PK files (e.g., \program{GFtoPK},
+\MF, \program{MFpic}, \program{PS2PK}).
+
+\extitem [pl] A property list file contains an ASCII representation of a
+binary file. The property list format was created during \TeX\ development to
+allow binary files (specifically TFM files) to be hand-coded. Most users have
+no reason to create PL files; however, some programs create PL files that must
+be converted into TFM files with the \TeX{}ware program \program{PLtoTF}. The
+PL format is described in the \web\ documentation for \program{PLtoTF}.
+
+If you need to edit \TeX\ font metric information for a particular
+font, you will almost certainly do so by editing the PL file. You can create
+a PL file from a TFM file with the \program{TFtoPL} utility.
+
+\extitem [ps] \ps\ is a page description language. The \ps\ language
+is described in a series of volumes from Adobe Systems. PS is a
+common extension for \ps\ files.
+
+Unless you are inclined to enter the Obfuscated \ps\ Contest, you
+are unlikely to create \ps\ files by hand. \ps\ files are created by many
+common tools.
+
+\extitem [pxl] This format is obsolete. It has been completely superseded
+by the PK format. If you still have PXL files, you can convert
+them to PK format with the \program{PXtoPK} program. If you are still
+using a DVI driver that needs PXL files, you need an upgrade.
+
+\extitem [sfl] These files contain HP LaserJet softfonts in landscape
+orientation. LaserJet softfonts are device specific bitmap representations of
+a typeface. The bitmap versions are described thoroughly in the {\em LaserJet
+Technical Reference Manual\/}~\cite{pcl5:techref} for each of the HP LaserJet
+printers. Newer laser printers can perform automatic rotation of fonts (in 90
+degree increments, at least), so the distinction between landscape and portrait
+font files is disappearing.
+
+\extitem [sfp] These files contain HP LaserJet softfonts in portrait
+orientation. See the entry for SFL files, above.
+
+\extitem [sfs] Scalable softfonts are HP LaserJet softfonts for the
+new (HPLJ III and higher) LaserJet printers. These are really in AGFA
+IntelliFont Scalable format~\cite{intellifont}.
+
+\extitem [snf] Server native format fonts are another version of X11
+bitmap font. See the entry for PCF files, above, for more information.
+
+\extitem [sty] Style files are used by \LaTeX\ to define the layout of
+a \LaTeX\ document (by redefining the meaning of commands like
+\verb+\section{}+, for example). They are also used commonly to extend
+\LaTeX. See the \LaTeX{} manual~\cite{ll:latexbook} for more information.
+
+Style files are really just \TeX\ files that perform specific tasks. You
+will eventually write or modify a style file, but it isn't something you
+are likely to do every day.
+
+\newpage
+\extitem [tex] TEX files describe the layout of a typeset document in the
+\TeX\ programming language,\footnote{You already knew this, didn't you?}
+as defined by {\em The \TeX{}book}~\cite{kn:texbook}. Most
+people use some form of macro package on top of \TeX\ to make the language
+easier to swallow. If a \TeX\ file begins with \verb+\documentstyle{}+ or has
+\verb+\begin{document}+ somewhere near the top, it is probably a \LaTeX\
+document. Otherwise, look for the \verb+\input+ commands to see what macro
+packages are being included.
+
+Documents that do not appear to be \LaTeX\ documents and do not appear to
+\verb|\input| special macro packages may be using a special {\em format}.
+Formats are fast-loading precompiled macro packages. If you know the name
+of the format file, you can tell \TeX\ to use it by typing \&{\em
+format-name\/} as a parameter to \TeX.
+
+\extitem [tiff] TIFF files contain bitmapped or vector graphic images in a
+very flexible form. The ``T'' in TIFF stands for ``tagged.'' All of the
+different kinds of information (regarding number of colors, compression,
+etc.) that might appear in a TIFF file are given unique tags that allow
+a TIFF file reader to skip over information that it does not
+understand.
+
+\extitem [tfm] \TeX\ font metric files contain information about fonts.
+\TeX\ doesn't know anything about the intrinsic shape of the
+characters that it lays down on the page. \TeX\ deals entirely with boxes.
+Every character is described by the rectangular box that (usually)
+surrounds it. The TFM file for a font describes the size of each
+character's box, as well as ligature and kerning information for the font.
+A human-readable version of a
+TFM file can be produced with the \program{TFtoPL} program. The format of
+TFM files is described thoroughly in the \web\ documentation for
+\program{TFtoPL}.
+
+If you have reason to modify a TFM file, you will almost certainly do
+so by converting it to PL format first. You can convert it back into a TFM
+file with the \program{PLtoTF} utility.
+
+See also HPTFM files.
+
+\extitem [toc] Table of contents files are produced by the
+\verb|\tableofcontents| command in \LaTeX. After seeing
+\verb|\tableofcontents|, \LaTeX\ writes chapter, section, subsection, etc.,
+names to the TOC file. The next time the document is formatted, \LaTeX\ will
+insert the TOC file at the point where you issue the \verb|\tableofcontents|
+command.
+
+\extitem [txt] Generic ASCII text.
+
+\extitem [vf] Virtual font files. They are described in more detail in
+Chapter~\ref{chap:fonts}, {\it\nameref{chap:fonts}}. In short, a virtual
+font maps a character to an arbitrary sequence of \ext{DVI} file commands.
+This may be another character in a different font, a different character
+in the same font, or something else entirely.
+
+\extitem [vpl] The virtual property list is a property list file for virtual
+fonts (as opposed to being some sort of property list file that was itself
+virtual ;-). VPL files serve the same purpose for VF files that PL files
+serve for TFM files. The VPL format is defined in the \web\ documentation
+for \program{VPtoVF}.
+
+\extitem [xbm] X11 bitmap files contain a bitmapped image. X11 icons are
+frequently stored in XBM files. They also occur in {\tt .icon} files and
+files without extensions (e.g., in \filename{/usr/include/X11/bitmaps}). I mention them here only because I like to use
+icons on my X11 desktop, and I have used \program{PKtoBM} to create several
+nice ones from \TeX\ PK files.
+
+X11 bitmap files are used for all bitmap displays in the X11 server
+(not just icons). Because they are ASCII and not binary, they are
+architecture independent, which makes them very portable.\par
+
+\end{iplist}
+
\ No newline at end of file diff --git a/usergrps/uktug/baskervi/5_3/psfonts.tex b/usergrps/uktug/baskervi/5_3/psfonts.tex new file mode 100644 index 0000000000..b306f4036b --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/psfonts.tex @@ -0,0 +1,77 @@ +\title{New PostScript font metrics for \protect\LaTeX} +\author{Sebastian Rahtz} +\begin{Article} +Over the last 9 months, a group of people have been working on a +revamp of \TeX\ font metrics for PostScript fonts. We are now ready +(finally!) to release this, together with a new release of the +PSNFSS package for \LaTeXe, and a new version of the Karl Berry font-naming +scheme. The maintainers of PSNFSS, \emph{fontinst}, \emph{web2c}, and +\emph{dvips} all urge +you to start using this new setup, so that all the bothersome variants +can be abolished by the end of the year. + +The entire distribution is on the CTAN hosts in +\texttt{fonts/psfonts.beta}. Its big --- don't pull all the files on spec! +Get what you need. Prepackaged sets for Textures users are also available. + +These files will replace both the \LaTeX\ PSNFSS (currently on CTAN in +\texttt{fonts/metrics}) and the font metrics distributed with dvips. +Both of these packages contained virtual fonts which more or less +mimicked the original \TeX\ text encoding, and (in the case of PSNFSS) +the Cork encoding. However, the two packages used different base +fonts, thus making previewing painful (and wasting disk space). Now, +everything uses a single base font in a new encoding named 8r (see +\texttt{tools/8r.enc} or \texttt{tools/8r.etx}). + +This new base encoding is \emph{not} Adobe Standard Encoding, because that +does not provide access to all of the 228 characters normally supplied +with a Type 1 font. Therefore, you must use a DVI-to-PostScript driver +which can perform reencoding, such as dvips(k), Y\&Y's drivers, OzTeX, +Textures etc. + +We are still contemplating whether the base encoding should be the +current one (mostly compatible with Windows), the texnansi encoding +promulgated by Y\&Y (see \texttt{tools/texnansi.vec}), or something else. +Comments are welcome. + +Aside from the base font, there are other small changes in the new +fonts. For the Cork-encoded fonts, the stretch and shrink of the +interword spacing has been changed; this will almost certainly +change again for the final release, and we welcome comments. + For the dvips fonts, the positions +of the preaccented characters have been fixed (e.g., Aring is at the +same position in every font). Therefore, the font checksums are +different. The actual character dimensions, however, remain unchanged. + +The new fonts (mostly) have new names! You can get the new fontname +distribution from \texttt{ftp.cs.umb.edu} in +\texttt{private/tex/fontname-*.tar.gz or} in the \texttt{tools/} +subdirectory of this distribution. + +This distribution includes support the standard 35 fonts, various freely +available fonts (with Type1 sources), and many commercial-only fonts (no +Type1s). Smallcaps and obliqued versions are available in bold and +normal variants, where applicable. All fonts have ligatures and +kerning (no ``raw'' fonts); therefore, even the base fonts can be +used for real typesetting. An experimental support is provided in +PSNFSS for this. + +We built these fonts using both \emph{fontinst} and \emph{afm2tfm} +(and other +utilities). Both required changes, which will be merged into the next +releases. +The changes to \emph{fontinst} are extensive, and if you are not +confident you understand them, please wait until the author finds time +to merge them into a complete new release later this year. + +\begin{quote} +\emph{Primary perpetrators:} Sebastian Rahtz, Alan Jeffrey, Karl +Berry.\\ \emph{Chief Tester and Bugfinder:} Constantin Kahn.\\ +\emph{Aiders and abettors:} Tom Rokicki, Ciar\'an \'O Duibh\'{\i}n, +Pierre MacKay, Rob Hutchings, Berthold Horn, Damian Cugley. +\end{quote} +Please send any questions, comments, or suggestions +to \texttt{tex-fonts@math.utah.edu}. (Email +\texttt{tex-fonts-request@math.utah.edu} to +join the list.) +\end{Article} diff --git a/usergrps/uktug/baskervi/5_3/robin.tex b/usergrps/uktug/baskervi/5_3/robin.tex new file mode 100644 index 0000000000..c44f5df3d8 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/robin.tex @@ -0,0 +1,372 @@ + +\MakeShortVerb\| +% +% +\providecommand{\ordinal}[1]{#1} +\providecommand{\PS}{\textsc{PostScript}} +\providecommand{\UKTUG}{\textsc{UKtug}} +\providecommand{\TeXXeT}{\TeX-{}-X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT} +\providecommand{\WWW}{\textsc{www}} +% +\title{Report of visit to CERN to attend presentation of $\Omega$} +\author[Robin Fairbairns]{Robin Fairbairns\\ + University of Cambridge Computer Laboratory} +\begin{Article} +\section{Introduction} +As you will have seen in earlier \BV{}s of this year, the Francophone +\TeX{} users' group, Gutenberg, arranged a meeting in March at CERN +(Geneva) to `launch' \Om. \UKTUG{} responded to Gutenberg's plea for +support to enable \TeX{} users from impoverished countries to attend, +by making the first disbursement from \UKTUG's newly-established Cathy +Booth fund. That money (together with some of the outstanding surplus +from \TeX{}eter '88), was used in the meeting's fund that supported +the attendance of four representatives of CyrTUG (which covers Russian +and other users of the Cyrillic alphabet) and of one representative of +CSTUG (Czech republic and---still---Slovakia). Apart from these, +there was a large contingent from France, several from Switzerland +(including one German-speaking Swiss and one Englishwoman working in +Lausanne), and one each from Germany, the Netherlands, Spain, +Australia\footnote{Richard Walker, who is currently working in + Germany} and the UK (me). + +%Richard Walker richard@cs.anu.edu.au +%Department of Computer Science Aust: (06) 249 5689 +%The Australian National University Intl: +61 6 249 5689 +%Canberra, ACT 0200, Australia Fax: +61 6 249 0010 +%His present email addres is: walker@ipd.info.uni-karlsruhe.de + +The speakers at the meeting were Michel Goossens (the president of +Gutenburg, as host for Gutenberg and as an expert on background to, +and the use of Unicode), and Yannis Haralambous and John Plaice, \Om's +two developers. + +The meeting can be accounted a success; all that attended enjoyed +themselves, and also learnt a lot. This article is the first of (at +least) two in which I will describe the thinking that led to the +production of \Om, the problems that it addresses and the ways it +solves those problems. + +\section{What \emph{is} \Om?} + +\Om{} is an extension of \TeX{} and related programs that has been +designed and written by Yannis Haralambous (Lille) and John Plaice +(Universit\'e Laval, Montr\'eal). It follows on quite naturally from +Yannis' work on exotic languages, which have always seemed to me to be +bedevilled by problems of text encoding. + +Simply, \Om{} (the program) is able to read scripts that are encoded +in Unicode (or in some other code that is readily transformable to +Unicode), and then to process them in the same way that \TeX{} does. +Parallel work has defined formats for fonts and other necessary files +to deal with the demands arising from Unicode input, and upgraded +versions of \MF{}, the virtual font utilities, and so on, have been +written. \Om{} itself is based on the normal |Web2C| distribution +that is at the base of most modern Unix implementations, and of at +least one of the PC versions that is freely available. + +\section{Why Unicode?} + +Michel explained to us the sorry history of the development of +character sets for use in computing\footnote{This is an area where I + have some expertise, too, so not all of this comes from Michel}. +There are something between~3000 and~6000 languages in use in the +world, for which a writing system exists. (The set of languages is +shrinking all the time as the deadening effect of cultural intrusion, +primarily through the electronic media, overwhelms the desire to +support existing cultures to the extent of teaching their language to +the young.) The distribution of languages is by no means even +throughout the globe (Michel showed us a map), and there are many that +have not been and will presumably now never be formally recorded. + +When we come to writing systems, we find almost every variation +imaginable in use somewhere in the world. The Latin-like system +(written left to right with modest numbers of diacritics simply +arranged) has very wide penetration, not least because so many +languages were first written down by Western European missionaries or +other explorers. Languages such as Vietnamese are classified as +`complex Latin-like', with $\geq2$ diacritics per character; an +artificial example of the same effect is IPA (the International +Phonetic Alphabet) which has sub- and super-scripts and joining marks. +Languages such as Hebrew and Arabic are written right to left, and +constitute another class. Then there are the multiple-ligature +writing systems typified by the Indic languages such as Devanagari (of +which we had a fascinating exposition at the 1993 \UKTUG{} Easter +meeting on `non-American' languages, from Dominik Wujastyk), and +finally the syllabic scripts (such as Korean Hangul and Japanese +Hiragana and Katakana), and the ideographic scripts (Chinese and +Japanese Kanji). + +Encodings are needed for computer operations on language of any sort. +There are differences between the coded representation and the written +(or printed) representation. Everyone who's read about \TeX{} at all +will know about ligatures (the CM fonts, and most \PS{} fonts, +implement ligatures so that, for example, `|fl|' typed appears as `fl' +printed). More significantly, almost all adults in Western cultures +write `joined-up', which is in itself application of a form of +ligature. All these ligatures are for presentation, not for +information, and so it is unreasonable for them to be represented in a +character set. Other ligatures, however, form real characters in some +languages (examples are \ae{} in Danish and Norwegian, and \oe{} in +French). + +In the dark ages (in fact, as recently as the early 1960s, when I +started computing), every make of computer system had its own +character code, many of them based on the 5-bit teleprinter codes used +in telex printers. Eventually, the rather more sophisticated +teletypes appeared, which used seven bits of an eight-bit code; this +7-bit codification was standardised as ASCII (the American Standard +Code for Information Interchange), which was (in the area of +application it was designed for) an excellent code. It had all the +properties needed for many of the significant development of computers +in the 1960s, but it had one serious flaw: it was not able to encode +diacritics, which are used in almost every language (but which your +all-American information interchanger would seldom have a need for). + +To regularise the resulting mess, ISO adopted the ASCII standard as +the basis for an international 7-bit character set, ISO~646. ISO~646 +is identical to ASCII in the code points that it specifies; however, +some of the characters that ASCII does specify are left ``for national +variation'' in ISO 646; ASCII itself then became the USA national +variation of ISO 646. An example of national variation is defined for +the UK, which specifies that the code point that holds `|#|' in ASCII +should hold a pounds sign (\pounds). There are versions for various +Nordic languages that include characters such as \ae{} or \aa in place +of braces, a version for French with acute, grave and +circumflex-accented letters, one for German that offers umlauts and +`sharp s' (\ss). + +There were various attempts at mechanisms to assign different +character sets for use by those who need to use characters from +several different sets (for example, someone writing an +Swedish-English Dictionary); an example is ISO~2022, which defines +escape sequences such switches. These efforts proved impractical (at +least they seemed so to me), and 8-bit developments of ISO 646 arose, +with the ability (comfortably) to express more than one language. + +Thus were born the ISO~8859 character sets. The commonest of these +(at least in the ken of most English speakers) is ISO~Latin-1 +(ISO~8859-1, that is part one of the multi-part standard), which was +designed for use by Western Europeans. As well as the `basic ASCII +set' in the first 128 characters, it has diphthongs and vowels +appropriate to most Western European languages. Oddly, it omits the +\oe{} dipthong that French uses, and (perhaps less +surprisingly\footnote{Given that Wales would have been represented by + the BSI in the standardisation process}) it omits some of the accent +forms used by Welsh. ISO~8859 didn't stop with part~1, though; there +are variants that accomodate Cyrillic (for Russian, Serbian, and +several other languages of the old Soviet Union), Arabic, Hebrew, and +so on. + +This is all well and good, but it doesn't answer the needs of a writer +preparing multilingual documents, except in the case that the multiple +languages are accomodated in the same part of ISO~8859: it will happen +some of the time, but most `interesting' combinations will require +switches of character set whenever the language changes. + +So ISO (by this time, jointly with IEC) started development of an +all-encompassing character set, to be numbered ISO/IEC~10646 (the +difference of 10~000 is no accident). ISO/IEC~10646 was to accomodate +every possible language in the world by the simple expedient of +allowing 32-bit characters. Of course, no-one can comprehend a 32-bit +character set, and so the set was to be structured, as a hypercube of +different repertoires; the $(0,0,0,0)$ repertoire would be the same +ISO-Latin~1, but all the other sets could be accomodated, too. + +Independently, Apple and Microsoft got together to found the Unicode +consortium, whose aim was to define 16-bit characters that would cover +all the economically important world. This criterion of economic +importance could easily have brought down the whole edifice: the +(increasingly important) languages of the Far East are at best +syllabic (e.g., Korean; Korea claims 11~000 of the code points in +Unicode), or even one character per word (e.g., Chinese; a full +classical Chinese repertoire would require well in excess of 65~536 +characters, thus sinking a 16-bit code single-handedly). + +Unicode's sponsors therefore enforced a process called `Han +unification', which aims to put the `same' character in any of +Chinese, Japanese and Korean in the same slot in the table. This +unification is a distinctly dubious exercise: the same character may +have different significance in the different languages, but they are +all represented by the same code point. Contrariwise, the Latin `H', +the Russian `H' (which sounds as Latin `N') and the Greek `H' (capital +`$\eta$') all get different code points despite having the same paper +representation. For this reason (among others), there remain doubts +as to whether the Japanese, in important particular, will adopt +Unicode as a long-term replacement for their own national standards. + +In the shorter term, however, there remained the possibility that +there would be two conflicting standards for the future of character +codes~--- a \emph{de facto} one (Unicode) and ISO/IEC~10646. The +ISO/IEC standard reached its (nominal) final ballot without addressing +the relation to Unicode~\dots{}\ but (fortunately) it failed at that +hurdle, and for that reason. Standards people are notorious for +ignoring the real world\footnote{The author has spent an + unconscionable long period of his life on these things, and is + therefore in a position to know}, but this time, they conceded +defeat. ISO/IEC~10646 was edited to have the whole of Unicode as its +$(0,0,*,*)$ plane, and it has thus passed into the canon of published +standards. + +So we may now discuss Unicode without running out against the ISO/IEC +standard: a splendid example of the behaviour known as ``common sense +prevailing''. + +\section{Virtual Metafont and Fonts to Support Unicode} + +It is known that \TeX{} is a general-purpose programming language. In +`plain' text, we would type |"hello world"|. For \TeX{} output we +would type |``hello world''|, which would be transparently +converted to ``hello world''. Thus, the two grave accents and the two +single quotes constitute `programming'. In the last analysis, you can +``do everything with \TeX{}''. + +When English is typeset, the convention is that the space, after the +full stop is the end of a sentence, is expanded; \TeX{} makes +provision for this to happen by way of the |\sfcode| mechanism. When +French is typeset, the convention is that the space is not expanded; +the |\sfcode| mechanism can provide this style of typesetting, as +well (cf.~the |\frenchspacing| macro of plain \TeX). + +Other features of French typesetting are more difficult to provide in +\TeX{}. For example, an exclamation mark is separated from the +sentence: ``en fran\c cais\thinspace!''; to program this, the +exclamation mark needs to become an `active character', which is +always a tricky thing to do. + +Setting the French quotation marks (known as guillemets) becomes even +more tricky; the guillemets look like little |<<| and |>>|, and the +natural way to program them is by using repeated |<| or |>| +characters; Bernard Gaulle's |french.sty| does this (also setting a +space between the text quoted and the guillemets), but it's becoming +more and more complicated; even more so when we consider the French +rules for quotes within quotes. + +More problems arise when we consider the question of diacritics. +English rather infrequently has diacritics, so it's not surprising +that \TeX{}'s method of dealing with them isn't perfect. To typeset +an accented character, e.g.~\"a, one must type |\"a|; which is typeset +as two little boxes stacked on top of one another, rather like +\shortstack{\fboxsep0.5pt\fbox{..}\\\fboxsep0.5pt\fbox{a}}. This does +work, but these composite glyphs no longer qualify (to \TeX{}) as +something that it's willing to hyphenate---\TeX{} only hyphenates +`words' made up of sequences of letters. A language such as German, +with hyphenation suppressed for many words, is hardly a language at +all. These observations are what led to the definition of the Cork +font encoding, in which a goodly proportion of Western European +letters with diacritics appear as single characters; if they are this +represented, words containing them may be hyphenated. + +%\TeX{} is designed (in the last analysis) to typeset English, so that +%typesetting French, German, or other `foreign' languages is a second +%priority; this is the problem \Om{} is attempting to address. + +With the Cork encoding, which is in effect an output encoding, we +encounter a further problem relating to the nature of communication. +The problem arises from the nature of character sets; while there are +many well-established character sets, there are seriously different +camps into which they fall. For example, the character +`{\fontencoding{T1}\selectfont\TH}' (Thorn), appears in Microsoft Windows' +character set but not in the Macintosh set, while `$\Omega$' appears +in the Macintosh set but not in the Windows set; both of these sets +are based on ASCII. To solve this problem, of encoding all everything +that appears in any character set, there has to be a super-encoding. +This can be either a multi-character representation, as in the \WWW{} +encoding, html (for example the encoding would for \'e would be +|é|), or a super-character set, as in Unicode. + +In the present arrangement of typesetting technology, we have the +situation where non-English users sit at a computer, and express their +own language via a local layer in ASCII or a derivative of it~--- i.e., +we have a picture like: + +\begin{center} + \input{noinfo.pic} +\end{center} + +In this arrangement, the human interface allows the use of local +characters, and the display will show what's typed. The typography +does the display job again (possibly differently); however, +communication of the text to be typeset is difficult, because of the +local nature of the interface. + +The information to be transmitted needs to be encoded. There is no +limit to the number of local encodings that may exist; equally, there +is no constraint on the representations used by the typographic +system. However, to facilitate the transmission of information, a +common schema of its representation in the coded date must exist. + +\begin{center} + \input{info-int.pic} +\end{center} + +The ultimate mechanism for ensuring that such a schema exists is to +require that everything be transmitted in a common encoding scheme; +\Om{} employs ISO~10646/Unicode for this. Input text is transformed +into \Om{}'s internal `information' by an Omega Translation +Process~(OTP); OTPs may also be used to transform the information +during its processing withing \Om{}, and an OTP is also used to derive +the coding of the font, to be used for typesetting, from the +Unicode-encoded information within \Om{}: + +\begin{center} + \input{info-ome.pic} +\end{center} + +At this point, we're beginning to trespass on the subject matter of +the next article: the internal workings of \Om. That article is to +appear in the next edition of \BV{}. +\end{Article} +\endinput + +\section{Pretty Pictures} + +\begin{figure}[htbp] + \begin{center} + \leavevmode + \includegraphics[width=0.75\textwidth]{pics/baseplane.eps} + \end{center} + \caption{baseplane.eps} + \label{fig:baseplane} +\end{figure} + +\begin{figure}[htbp] + \begin{center} + \leavevmode + \includegraphics[width=0.75\textwidth]{pics/ucs.eps} + \end{center} + \caption{ucs.eps} + \label{fig:ucs} +\end{figure} + +\begin{figure}[htbp] + \hbox to\textwidth{\hfill + \subfigure[unicode-home]% + {\includegraphics[width=0.45\textwidth]{pics/unicode-home.eps}}% + \label{fig:unicode-home}% + \hfill + \subfigure[unicode-resources]% + {\includegraphics[width=0.45\textwidth]{pics/unicode-resources.eps}}% + \label{fig:unicode-resources}% + \hfill} + \caption{unicode-www} + \label{fig:unicode-www} +\end{figure} + +\begin{figure}[htbp] + \begin{center} + \leavevmode + \includegraphics[width=0.75\textwidth]{pics/uninew.eps} + \end{center} + \caption{uninew} + \label{fig:uninew} +\end{figure} + +\begin{figure}[htbp] + \begin{center} + \leavevmode + \includegraphics[height=0.8\textheight]{pics/unicodet.eps} + \end{center} + \caption{unicodet} + \label{fig:unicodet} +\end{figure} + diff --git a/usergrps/uktug/baskervi/5_3/standard.tex b/usergrps/uktug/baskervi/5_3/standard.tex new file mode 100644 index 0000000000..87a64c285b --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/standard.tex @@ -0,0 +1,216 @@ +\begin{multicols}{2} +\title{The UK \TeX\ Users Group} +\author{} +\begin{article} +\section{Group aims and activities} +The \ukt\ was founded in 1989; its activities and benefits include: +\begin{itemize} + \item Regular meetings covering both \TeX{}nical matters and general +typographic subjects; + \item Visits to publishers, font suppliers and book producers; + \item In-depth workshops, with hands-on computer sessions where +appropriate; + \item Negotiation of discounts on \TeX\ relevant books with publishers. + \item Distribution of public domain \TeX\ implementations (in +cooperation with the international \TeX\ archives); + \item Discount on joint UK \TeX\ Users Group/TUG membership; + \item Reduction in conference fees for the TUG annual meeting and the +annual European meetings; + \item The publication and distribution of \BV\ (the annals of +the UK \TeX\ Users Group). + \end{itemize} + +\section{Programme of meetings for 1995} +\begin{description} +\item[July, 1995] (\TeX\ Users Group Annual Meeting in Florida) +\item[September, 1995:] em\TeX\ in depth: +a training meeting on MSDOS \TeX, with Sebastian Rahtz +Location: Oxford. +\item[September, 1995] (Euro\TeX\ meeting in the Netherlands) +\item[October 1995:] AGM, at Queen Mary and Westfield College, +University of London, with sessions on `non-traditional' \TeX. +\end{description} + +\noindent All members of \ukt{} will be provided with more details of +these meetings as they become available. Reports of the meetings will +appear in \BV, the organ of the group. + + +\section*{The 1994--95 \ukt\ committee} +\begin{tabular}{lp{2in}} +C.~A.~Rowley & Chair\\ +P.~Abbott & Treasurer and \\ & Membership Secretary\\ +R.~A.~Bailey & Committee Secretary\\ +M.~Clark & Meetings Secretary\\ +S.~P.~Q.~Rahtz & \BV\ editor\\ +\end{tabular} + +\noindent D.~P.~Carlisle; R. Fairbairns; +C.~Hewlett; A.~S.~A.~\mbox{Jeffrey}. + + +\section*{Book Discounts for \protect\ukt\ members} +The UK \TeX\ User group has been in discussion with a number of +publishers to arrange discounts on publications which may be of +interest to members. We have arrangements with Addison-Wesley for +their well-known \TeX-related publications, and with International +Thomson Publishing to supply any of the very excellent O'Reilly \& +Associates Inc.\ series of books to members. + +The agreed list of books, together with the discounted (at least 10\%) +price, is distributed occasionally with \BV, but is always available +from the Treasurer, Peter Abbott. The quoted price includes the cost +of postage and packing. + +We would like to extend this service to members. If you have contacts +with the sales and marketing parts of any publisher who publishes +relevant books, please inform us and we will try to +arrange something mutually convenient and beneficial. + +We are only allowed to offer this service to \textbf{current} members +of the UK \TeX\ User Group and/or members of TUG. Please send your +order and cheque (in UK \pounds) to Peter Abbott (address in \BV\ masthead). +Make cheques payable to `UKTUG' please. +Books from Addison-Wesley are delivered direct but books from +O'Reilly will be routed through \ukt. \emph{In all cases} please +notify Peter Abbott +by email, phone, fax or letter when books are delivered. + +\end{article} + +\title{Obtaining \TeX} +\author{edited by Sebastian Rahtz} +\begin{article} +\subsection*{From the network} + +The UK \TeX\ Archive on \texttt{ftp.tex.ac.uk} is part of the CTAN +(Comprehensive \TeX\ Archive Network) collaborating network of +archives on the Internet organised by the +\TeX\ Users Group. The three main archives follow the same structure +and have identical files ({\tt ftp.tex.ac.uk}, {\tt ftp.shsu.edu} and +{\tt ftp.dante.de}). + +The CTAN archives all run an enhanced {\em ftp} server which supports +dynamic compression, uncompression, and archive creation options. +Fetch the top-level file {\tt README.archive-features} for +information. The server also supports site-defined commands to assist +you. Please read {\tt README.site-commands} for a brief overview. + +Details of where to find public domain, or shareware, +\TeX\ packages for different machines and operating +systems are given below. + + + Please report any problems with CTAN archives via email to + \texttt{ctan@shsu.edu}. The entire archive is available on + CDROM as the `\TeX cetera' package from Prime Time Freeware, 370 Altair Way, + Suite 150, Sunnyvale, CA 94086 USA (\texttt{ptf@cfcl.com}). This is + also distributed by the TUG office, and in the UK by Lasermoon Ltd + (email \texttt{info@lasermoon.co.uk}, phone 01329 826444). + +\subsection*{Unix tapes} +For a complete Unix \TeX\ distribution, a +1/4 inch cartridge, QIC-120 or QIC-150 format (DC600A or DC6150) +can sent with envelope {\em and} stamps for return postage to: +\begin{quote} + David Osborne\\ + Cripps Computing Centre, \\ + University of Nottingham, \\ + Nottingham NG7 2RD +\end{quote} +Due to currency exchange, this service is offered only within the UK. + +\subsection*{PC and Mac disks} +The \ukt\ distributes an em\TeX\ kit for PCs, +and an Oz\TeX\ kit for Macintosh. The cost covers copying and postage +costs, and the shareware fee for Oz\TeX. Each set costs \pounds30, +and is available from Peter Abbott, 1 Eymore Close, Selly Oak, +Birmingham B29~4LB. Cheques must be payable to \lq{}UKTUG\rq{}. Please note +that this service \emph{is available to \ukt\ members only.} Each set +comes with an installation guide, and (at least) full \TeX\ and \MF, a +previewer, a PostScript driver, and CM fonts. Two update disks a year +will be sent out automatically, with the current version of \LaTeXe, +and other goodies. A subscription service will be available for +subsequent years. In addition, subscribers can request up to 3 disks a +year with any material from the CTAN archives, but this will be +supplied \lq{}as is\rq{}, without instructions. + +Enquiries for \TeX\ for the Atari ST etc. can be directed to: The Fast +Club, 7 Musters Road, Nottingham NG2 7PP. Phone 01602 455250, fax 01602 +455305. They also supply a variety of \TeX-related software in Atari format. + +\end{article} +\end{multicols} +\bgroup +\small +\begin{center} +\begin{tabular}{|lllp{2.5in}|} +\hline Name & Environment & CTAN path & Notes\\ \hline + em\TeX & DOS, OS/2 & systems/msdos/emtex &the betatest drivers, + and 386-specific versions of \TeX\ and MF, are in the {\tt + betatest} subdirectory \\ + sb\TeX & DOS & systems/msdos/sbtex & includes latest \TeX\ and + \MF\\ + g\TeX & DOS & systems/msdos/gtex & 386-only \TeX\ and \MF, + which replace parts of em\TeX, and work with Windows memory + management\\ +% \TeX as & DOS & systems/msdos/texas & Large \TeX, +% which replaces \TeX386 in em\TeX, and works with Windows memory +% management\\ + \hline + Oz\TeX & Mac & systems/mac/oztex & This package is shareware\\ + CMac\TeX & Mac & systems/mac/cmactex & Shareware port of Unix \TeX\\ + Direct\TeX & Mac & systems/mac/directtex & This package is shareware\\ + \hline + pas\TeX & Amiga & systems/amiga/pastex & \\ + \hline + --- & Atari & systems/atari/lindner-tex-packed-disks & \\ + --- & Atari & systems/atari/cs-tex & \\ + \hline + web2c \TeX & Unix & systems/unix/web2c & a complete source kit for + \TeX\ and \MF, which should compile on most Unix boxes; needs + a C compiler.\\ +% sparctex & Sun Sparc & systems/unix/unixkit & \\ +% --- & DEC Alpha & systems/unix/alpha & for Alpha running Unix\\ +% --- & Xenix & systems/unix/xenix & \\ + \hline + --- & VMS & systems/vms &Alpha and VAX versions available \\ + %\hline + %GhostScript & * & support/ghostview & PostScript previewer for + %many platforms, including Mac\\ + %dvips & * & dviware/dvips & popular {\tt dvi} to PostScript + %driver\\ + %--- & --- & biblio/bibtex/styles/contrib & \BibTeX\ style files\\ + %--- & --- & web/knuth & The files maintained by Don Knuth\\ + \hline +\end{tabular} +\end{center} +\egroup +\endinput +The main directories which make up CTAN are listed below; readers are +referred to David Jones\rq{} {\em Index of \TeX\ Styles and Macros} for +details of macro packages and individual style files. This can be +found in CTAN as {\tt info/tex-styles-and-macros.txt} + +{\small +\begin{description} +\item[biblio] bibliography-related files, such as + \BibTeX. +\item[digests] back issues of \TeX-related periodicals +\item[dviware] contains the various dvi-to-whatever filters and drivers +\item[fonts] fonts, both sources and pre-compiled +\item[graphics]utilities and macros related to graphics +\item[help] overviews of the archive and the \TeX\ system +\item[info] files and tutorials which document various aspects of \TeX +\item[indexing] utilities and related files for indexing +\item[language] material for typesetting non-English documents +\item[macros] macros packages for \TeX\ and style files +\item[support] programs which can be used in support of \TeX +\item[systems] complete system setups, organized by operating + system +\item[tools] the various archiving tools used on CTAN +\item[web] contains WEB-related files and utilities +\end{description} +} +\end{article} +\end{multicols} diff --git a/usergrps/uktug/baskervi/5_3/stereo.ps b/usergrps/uktug/baskervi/5_3/stereo.ps new file mode 100644 index 0000000000..d12fd523a2 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/stereo.ps @@ -0,0 +1,352 @@ +%!PS-Adobe-2.0 +%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software +%%Title: RandomDotStereogramme.dvi +%%Pages: 1 1 +%%BoundingBox: 65 475 569 569 +%%EndComments +%%BeginProcSet: tex.pro +/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch +load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ +isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get +round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10 +N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{ +/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N +/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin +/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array +/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 +array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail} +B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont +setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup +length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ +ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B +/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 +N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S +dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 +ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image} +imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr +put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf +div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook +known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore +showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 +array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N +/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X +/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0 +7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 +TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 +-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{ +moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{ +S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B +/j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w +}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p +a}B /bos{/SS save N}B /eos{clear SS restore}B end +%%EndProcSet +TeXDict begin 1000 300 300 @start /Fa 1 50 df<030007003F00C7000700070007000700 +0700070007000700070007000700070007000700070007000700070007000700070007000F80FF +F80D1C7C9B15>49 D E /Fb 1 7 df<0004000000060000000600000006000000060000000600 +0000060000000600000006000000060000000600000006000000060000FFFFFFE0FFFFFFE00006 +000000060000000600000006000000060000000600000006000000060000000600000006000000 +060000FFFFFFE0FFFFFFE01B1C7E9A20>6 D E /Fc 9 118 df<0C001C00EC000C000C000C000C +000C000C000C000C000C000C000C000C000C000C000C00FFC00A137D9211>49 +D<7FFFE0FFFFF0000000000000000000000000000000000000FFFFF07FFFE0140A7E8B19>61 +D<FFFC001C07001C03801C01C01C01C01C01C01C01C01C01C01C03801C07001FFC001C00001C00 +001C00001C00001C00001C00001C00001C0000FF800012147F9316>80 D<007800180018001800 +18001800180F98187820386018C018C018C018C018C0186018203810580F9E0F147F9312>100 +D<0F80104020206030C010FFF0C000C000C0006000201018200FC00C0D7F8C0F>I<F3E0343038 +18301830183018301830183018301830183018FC7E0F0D7F8C12>110 D<0FC0186020106018C0 +0CC00CC00CC00CC00C6018601838700FC00E0D7F8C11>I<F3C034E038E0304030003000300030 +003000300030003000FE000B0D7F8C0D>114 D<F0783018301830183018301830183018301830 +18303818580F9E0F0D7F8C12>117 D E /Fd 4 128 df<00F00001F80003FC0007FE0007FE0007 +FE0003FC0001F8003BFDC07FFFE0FFFFF0FFFFF0FFFFF0FFFFF0FE27F07E67E03C63C000600000 +F00000F00014147E9018>124 D<01800001800003C0000660000660000C3000181800300C0060 +0600C00380C00380600600300C001818000C300006600006600003C00001800001800011147C90 +18>I<1E1E003F3F0061E180C0C0C0C040C0C000C0C000C06001806001803003001806000C0C00 +06180003300001E00000C00000C00012117D9018>I<00C00000C00001E00001E00003F0000FFC +001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FC4FC07CCF8038C70000C00001E0 +0001E00012147D9018>I E /Fe 9 119 df<0E1E1C3860C00706769612>19 +D<004001C01FC001C001C001C00380038003800380038003800700070007000700070007000E00 +0F00FFE00B157D9412>49 D<0C0C0FF80FF00900100010001000100017C0186020300038003800 +384038E038C030807080E061C01F000E157D9412>53 D<03E00E18180C300C700E700EE00EE00E +E00E601E701E386E0F9C001C00180038E030C06080C0C3803E000F157D9412>57 +D<03E00C3018183018701C7FF8E000E000E000E0006008701038600F800E0E7E8D10>101 +D<007801CC039C030C07000700070007000E007FC00E000E000E000E001C001C001C001C001C00 +1C0038003800FF000E177F960B>I<0307070600000000003E0E0E0E0E1C1C1C1C1C1C3838FE08 +177F960A>105 D<3E780E9C0F1C0E080E001C001C001C001C001C001C0038003800FF000E0E7F +8D0E>114 D<FE1F3C0E3C081C081C101C101E200E400E400E800780070006000600100E7D8D13> +118 D E /Ff 12 118 df<01FFF0000F80000F00000F00000F00000F00000F00001E00001E0000 +1E00001E00001E00001E00003C00003C00003C00003C00003C00003C00007800007800707800F8 +7800F87800F0F000E0E00081C0004380003E0000141D7E9B15>74 D<0FFFF80000F80E0000F007 +8000F003C000F001C000F001E000F001E001E003C001E003C001E0038001E0070001E00E0001E0 +3C0003FFE00003C0700003C0380003C03C0003C01C0003C01E0007803C0007803C0007803C0007 +803C0007803C0007803C080F003C100F801C10FFF01C20000007C01D1D7E9B1F>82 +D<07F0001C18001E0C001C0E00180E00000E00000E0001FE000F0E001C1C00301C00701C00E01C +40E01C40E03C40E05C80709D803F0E0012127D9115>97 D<01F8071C0C1E181C38183000700070 +007000E000E000E000600060047008301018200FC00F127D9112>99 D<01F8070C0C061C073803 +300370037FFF7000E000E000E00060006002300430081C3007C010127E9112>101 +D<07E00001E00001C00001C00001C00001C00001C00001C000038000038000038000038F8003B0 +C003C0E00780E00780E00700E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01 +C01C03801E03C0FF9FF0141D7F9C17>104 D<00C001C001C00180000000000000000000000000 +00001F80078003800700070007000700070007000E000E000E000E000E000E001C001E00FF800A +1D7F9C0C>I<0FC78003D86001E03003C03803803803801803801C03801C03801C070038070038 +0700380700700700700700E00F01C00EC3000E3C000E00000E00000E00001C00001C00001C0000 +1C0000FF8000161A809117>112 D<00F0400308C00E05C01C0380380380380380700380700380 +700380E00700E00700E00700600700700700700F00301E00186E00078E00000E00000E00000E00 +001C00001C00001C00001C0000FF80121A7D9116>I<1F9C07EE03CF078E078C07000700070007 +000E000E000E000E000E000E001C001E00FFC010127F9110>I<03F20C0E18061004300438043E +001FE00FF007F8003C401C400C400C6018E010D0608FC00F127F9110>I<FC1F803C07801C0380 +380700380700380700380700380700380700700E00700E00700E00700E00701E00701E00703C00 +305E001F9F8011127C9117>117 D E /Fg 14 118 df<00F801F001F003E007C007800F801F00 +1E003C007C007800F0000D0D72B122>19 D<00007E000000007E00000000FF00000000FF000000 +00FF00000001EF80000001EF80000001EF80000003CFC0000003C7C0000003C7C000000787E000 +000783E000000F83F000000F83F000000F03F000001F01F800001F01F800001E01F800003E00FC +00003E00FC00003C00FC00007C007E00007C007E000078007E0000F8003F0000F8003F0000F000 +3F0001F0001F8001F0001F8001E0001F8003FFFFFFC003FFFFFFC003FFFFFFC007FFFFFFE007C0 +0007E007800007E00F800003F00F800003F01F000003F81F000001F81F000001F83E000001FC3E +000000FC3E000000FC7C000000FE7C0000007E7C0000007EF80000007FF80000003F28327EB12D +>65 D<FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FC000000FC000000FC000000FC000000 +FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000 +00FC000000FC000000FC000000FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FC000000FC000000FC00 +0000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC +000000FC000000FC000000FC000000FC000000FC000000FC000000FFFFFFFCFFFFFFFCFFFFFFFC +FFFFFFFCFFFFFFFC1E327AB128>69 D<FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF +80FFFFFFFFFF8000003F00000000003F00000000003F00000000003F00000000003F0000000000 +3F00000000003F00000000003F00000000003F00000000003F00000000003F00000000003F0000 +0000003F00000000003F00000000003F00000000003F00000000003F00000000003F0000000000 +3F00000000003F00000000003F00000000003F00000000003F00000000003F00000000003F0000 +0000003F00000000003F00000000003F00000000003F00000000003F00000000003F0000000000 +3F00000000003F00000000003F00000000003F00000000003F00000000003F00000000003F0000 +0000003F00000000003F00000000003F00000000003F00000000003F00000000003F0000000000 +3F00000029327EB12E>84 D<7F0000007E003F800000FC001FC00000FC001FC00001F8000FE000 +03F00007F00003F00003F00007E00003F8000FC00001F8000F800000FC001F800000FE003F0000 +007E003E0000003F007E0000001F80FC0000001F80F80000000FC1F800000007E3F000000007E3 +E000000003F7E000000001FFC000000000FF8000000000FF80000000007F00000000003E000000 +00007F00000000007F8000000000FF8000000001FFC000000001F7E000000003E3E000000007E3 +F00000000FC1F80000000F80FC0000001F80FC0000003F007E0000003E003F0000007E003F0000 +00FC001F800000F8000FC00001F8000FE00003F00007E00003E00003F00007E00003F8000FC000 +01F8000FC00001FC001F800000FE003F0000007F003F0000007F007E0000003F80FC0000001FC0 +2A327FB12D>88 D<00FE0007FF801FFFC03FFFE03F03F03800F83000F820007C00007C00007C00 +007C00007C00007C0007FC00FFFC07FFFC0FFFFC3FC07C3F007C7C007CF8007CF8007CF8007CF8 +007CF800FCFC01FC7F07FC7FFFFC3FFF7C1FFC7C0FE07C161F7D9E20>97 +D<003F800000FFE00003FFF80007FFFC000FE0FC001F803E003F001E003E001F007C000F007C00 +0F007C000780FFFFFF80FFFFFF80FFFFFF80FFFFFF80F8000000F8000000F8000000F8000000F8 +0000007C0000007C0000003E0000003E0000001F0000801FC003800FF01F8007FFFF8001FFFF00 +00FFFC00001FE000191F7E9E1E>101 D<007F00F801FFC7FC03FFFFFC07FFFFFC0FC1FC001F80 +FC001F007C001F007C003E003E003E003E003E003E003E003E003E003E003E003E001F007C001F +007C001F80FC000FC1F8000FFFF0001FFFE0001DFFC0001C7F00003C0000003C0000003C000000 +1E0000001FFFF8001FFFFF000FFFFF801FFFFFC03FFFFFE03E000FF07C0003F0FC0001F8F80000 +F8F80000F8F80000F8F80000F8FC0001F87E0003F03F0007E03FE03FE00FFFFF8007FFFF0001FF +FC00003FE0001E2E7E9E22>103 D<F81FC007F000F87FF01FFC00F9FFF87FFE00FBFFF8FFFE00 +FF81FDE07F00FF007FC01F00FE007F801F80FC003F000F80FC003F000F80FC003F000F80F8003E +000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80 +F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E +000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80F8003E000F80 +F8003E000F80291F7A9E36>109 D<001FC00000FFF80001FFFC0007FFFF000FE03F801F800FC0 +1F0007C03E0003E03E0003E07C0001F07C0001F0780000F0F80000F8F80000F8F80000F8F80000 +F8F80000F8F80000F8F80000F8FC0001F87C0001F07C0001F03E0003E03F0007E01F0007C01FC0 +1FC00FF07F8007FFFF0001FFFC0000FFF800001FC0001D1F7E9E22>111 +D<F81EF87EF8FEF9FEFBFEFFF0FF80FF00FE00FE00FC00FC00F800F800F800F800F800F800F800 +F800F800F800F800F800F800F800F800F800F800F800F8000F1F7A9E17>114 +D<01FF000FFFE01FFFF83FFFF87E01F87C0030F80000F80000F80000F80000FC00007E00007FE0 +003FFE001FFF800FFFE003FFF0003FF80003F80000FC00007C00007C00007C40007C60007CF800 +F8FE03F8FFFFF07FFFE01FFFC001FE00161F7E9E1A>I<03E00003E00003E00003E00003E00003 +E00003E00003E00003E000FFFFE0FFFFE0FFFFE0FFFFE003E00003E00003E00003E00003E00003 +E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003 +E00003E00003E00003E02003F0E001FFF001FFF000FFC0007E0014287FA718>I<F8007CF8007C +F8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007C +F8007CF8007CF8007CF8007CF8007CF8007CF8007CF8007CF800FCF800FCF801FCFC07FC7FFFFC +7FFE7C3FFC7C0FE07C161F7A9E23>I E end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 300 +TeXDict begin +%%EndSetup +%%Page: 1 1 +bop 673 50 a Fg(Autost)n(\023)-32 b(er)n(\023)g(eogramme)21 +b(T)1261 65 y(E)1292 50 y(X)832 194 y Ff(par)14 b(Jacques)h(Ric)o(her)915 +268 y Fe(f)o(\023)-17 b(evrier)10 b(1995)-26 666 y Fd +(|\177\177~~}~\177|||\177\177)o +(~~}~\177|||\177\177~~}~\177|||\177\177~~}~\177|||\177\177~~}~\177|||\177\177) +p(~~}~\177|||\177\177~~}~\177|||\177\177~~)o(}~\177|||\177\177~~})-26 +686 y(\177}\177\177~}|}\177}\177}\177)o +(\177~}|}\177}\177}\177\177~}|}\177}\177}\177\177~}|}\177}\177}\177\177~}|)p +(}\177}\177}\177\177~}|}\177}\177}\177\177~}|}\177}\177}\177\177~)o +(}|}\177}\177}\177\177~})-26 707 y(}\177|||}|~\177\177}\177|)o +(||}|~\177\177}\177|||}|~\177\177}\177|||}|~\177\177}\177|||}|~\177\177}\177) +p(|||}|~\177\177}\177|||}|~\177\177}\177|||)o(}|~\177\177}\177|||})-26 +728 y(|\177\177}}}|~}\177|\177\177)o +(}}}|~}\177|\177\177}}}|~}\177|\177\177}}}|~}\177|\177\177}}}|~}\177|\177\177) +p(}}}|~}\177|\177\177}}}|~}\177|\177\177}})o(}|~}\177|\177\177}}})-26 +748 y(\177}\177\177|\177|~}|\177}\177)o +(\177|\177|~}|\177}\177\177|\177|~}|\177}\177\177|\177|~}|\177}\177\177|\177) +p(|~}|\177}\177\177|\177|~}|\177}\177\177|\177|~}|\177}\177\177|)o +(\177|~}|\177}\177\177|\177)-26 769 y(||\177\177\177}\177}~\177||\177)o +(\177\177}\177}~\177||\177\177\177}\177}~\177||\177\177\177}\177}~\177||\177) +p +(\177\177}\177}~\177||\177\177\177}\177}~\177||\177\177\177}\177}~\177||\177) +p(\177\177)o(}\177}~\177||\177\177\177})-26 789 y(}}}\177\177\177||\177~}}})o +(\177\177\177||\177~}}}\177\177\177||\177~}}}\177\177\177||\177~}}}\177\177)p +(\177||\177~}}}\177\177\177||\177~}}}\177\177\177||\177~}}}\177\177)o +(\177||\177~}}}\177\177\177)-26 810 y(|\177|\177\177\177\177}}\177|\177|)o +(\177\177\177\177}}\177|\177|\177\177\177\177}}\177|\177|\177\177\177\177})p +(}\177|\177|\177\177\177\177}}\177|\177|\177\177\177\177}}\177|\177|\177\177) +p(\177\177}}\177|\177|\177\177)o(\177\177}}\177|\177|\177\177\177)-26 +830 y(~~|~||||\177|~~|)o +(~||||\177|~~|~||||\177|~~|~||||\177|~~|~||||\177|~~|~||||\177|~~|~||||\177)p +(|~~|~|)o(|||\177|~~|~||)-26 851 y(|}~~}}}}}\177|}~)o +(~}}}}}\177|}~~}}}}}\177|}~~}}}}}\177|}~~}}}}}\177|}~~}}}}}\177|}~~}}}}}\177) +p(|}~~})o(}}}}\177|}~~}})-26 871 y(}}|}~\177|\177|\177}}|)o +(}~\177|\177|\177}}|}~\177|\177|\177}}|}~\177|\177|\177}}|}~\177|\177|\177)p +(}}|}~\177|\177|\177}}|}~\177|\177|\177}}|}~)o(\177|\177|\177}}|}~\177)-26 +892 y(\177|\177}|}\177}\177}\177|\177)o +(}|}\177}\177}\177|\177}|}\177}\177}\177|\177}|}\177}\177}\177|\177}|}\177)p +(}\177}\177|\177}|}\177}\177}\177|\177}|}\177}\177}\177|\177}|)o +(}\177}\177}\177|\177}|})-26 912 y(\177\177}\177|~\177\177||\177\177})o +(\177|~\177\177||\177\177}\177|~\177\177||\177\177}\177|~\177\177||\177\177)p +(}\177|~\177\177||\177\177}\177|~\177\177||\177\177}\177|~\177\177||\177\177) +p(}\177|)o(~\177\177||\177\177}\177|~)-26 933 y +(\177\177\177||~}\177\177}\177\177\177)o +(||~}\177\177}\177\177\177||~}\177\177}\177\177\177||~}\177\177}\177\177\177) +p +(||~}\177\177}\177\177\177||~}\177\177}\177\177\177||~}\177\177}\177\177\177) +p(||)o(~}\177\177}\177\177\177||~)-26 953 y +(}\177\177\177}}~\177\177\177}\177\177)o +(\177}}~\177\177\177}\177\177\177}}~\177\177\177}\177\177\177}}~\177\177\177) +p +(}\177\177\177}}~\177\177\177}\177\177\177}}~\177\177\177}\177\177\177}}~\177) +p(\177\177}\177\177\177})o(}~\177\177\177}\177\177\177}})-26 +974 y(|\177\177\177\177|\177~|||\177\177)o +(\177\177|\177~|||\177\177\177\177|\177~|||\177\177\177\177|\177~|||\177\177) +p +(\177\177|\177~|||\177\177\177\177|\177~|||\177\177\177\177|\177~|||\177\177) +p(\177\177)o(|\177~|||\177\177\177\177|)-26 994 y(|~||||~|}}|~|)o +(|||~|}}|~||||~|}}|~||||~|}}|~||||~|}}|~||||~|}}|~||||~|}}|~|||)o +(|~|}}|~||||)-26 1015 y(}}~~~~~}}|}}~)o +(~~~~}}|}}~~~~~}}|}}~~~~~}}|}}~~~~~}}|}}~~~~~}}|}}~~~~~}}|}}~~~)o +(~~}}|}}~~~~)-26 1035 y(\177|\177~}~}~\177|\177|\177)o +(~}~}~\177|\177|\177~}~}~\177|\177|\177~}~}~\177|\177|\177~}~}~\177|\177|\177) +p(~}~}~\177|\177|\177~}~}~\177|\177|\177~})o(~}~\177|\177|\177~}~)-26 +1056 y(~|~|}|}|}\177~|~)o +(|}|}|}\177~|~|}|}|}\177~|~|}|}|}\177~|~|}|}|}\177~|~|}|}|}\177~|~|}|}|}\177) +p(~|~|})o(|}|}\177~|~|}|)-26 1076 y(}~~}}|~\177}|}~~)o +(}}|~\177}|}~~}}|~\177}|}~~}}|~\177}|}~~}}|~\177}|}~~}}|~\177}|}~~}}|~\177)p +(}|}~~}})o(|~\177}|}~~}}|)-26 1097 y(|\177~}|\177}~|\177|\177~)o +(}|\177}~|\177|\177~}|\177}~|\177|\177~}|\177}~|\177|\177~}|\177}~|\177|\177) +p(~}|\177}~|\177|\177~}|\177}~|\177|\177~}|)o(\177}~|\177|\177~}|\177)-26 +1117 y(}}\177~\177}\177|}}}}\177)o +(~\177}\177|}}}}\177~\177}\177|}}}}\177~\177}\177|}}}}\177~\177}||}}}}\177)p +(~\177}||}}}}\177~\177}||}}}}\177~\177)o(}||}}}}\177~\177})-26 +1138 y(\177|\177\177~|\177\177}|\177|\177)o +(\177~|\177\177}|\177|\177\177~|\177\177}|\177|\177\177~|\177\177}|\177|\177) +p(\177~|\177}}|\177|\177\177~|\177}}|\177|\177\177~|\177}}|\177|\177\177~)o +(|\177}}|\177|\177\177~|)-26 1159 y(\177\177}\177\177~~||\177\177\177})o +(\177\177~~||\177\177\177}\177\177~~||\177\177\177}\177\177~~||\177\177\177)p +(}\177\177~||\177\177\177\177}\177\177~||\177\177\177\177}\177\177~||\177\177) +p(\177\177}\177\177)o(~||\177\177\177\177}\177\177~)-26 1179 +y(}\177\177|||}~~~}\177\177)o +(|||}~~~}\177\177|||}~~~}\177\177|||}~~~}\177\177|||~~~}}\177\177|||~~~}}\177) +p(\177|||~~~}}\177\177||)o(|~~~}}\177\177|||)-26 1200 y +(|\177\177\177}}}|}~|\177\177)o +(\177}}}|}~|\177\177\177}}}|}~|\177\177\177}}}|}~|\177\177\177}}|}~|\177\177) +p(\177\177}}|}~|\177\177\177\177}}|}~|\177\177\177\177})o +(}|}~|\177\177\177\177}})-26 1220 y(}}\177\177\177|\177|~\177}}\177)o +(\177\177|\177|~\177}}\177\177\177|\177|~\177}}}\177\177\177|\177|~\177}}})p +(\177\177\177|~\177}}}}}\177\177\177|~\177}}}}\177\177\177|~\177}}}})o +(\177\177\177|~\177}}}}\177)-26 1241 y(~\177||||~|~}~\177|)o +(|||~|~}~\177||||~|~}~~\177||||~|~}~~\177||~|~}~~\177~\177||~|~}~~~\177||~)p +(|~}~~~\177)o(||~|~}~~~\177|)-26 1261 y(\177~|~~~~}}~\177~|)o +(~~~~}}~\177~|~~~~}}~\177\177~|~~~~}}~\177\177~|~~}}~\177\177~|~|~~}}~\177)p +(\177|~|~~}}~\177\177|~)o(|~~}}~\177\177|~|)-26 1282 y +(\177\177~~}~}~\177|\177\177~)o +(~}~}~\177|\177\177~~}~}~\177|\177\177\177~~}~}~\177|\177\177\177~~}~\177|)p +(\177\177\177~~~~}~\177|\177\177~~~~}~\177|\177\177~~)o(~~}~\177|\177\177~~~) +-26 1302 y(}\177\177~}|}|}\177}\177\177)o +(~}|}|}\177}\177\177~}|}|}\177}}\177\177~}|}|}\177}}\177\177~}|}\177}}\177)p +(\177~}~}|}\177}}\177~}~}|}\177}}\177~)o(}~}|}\177}}\177~})-26 +1323 y(}|||}|~\177}|}||)o +(|}|~\177}|}|||}|~\177}|}}|||}|~\177}|}}|||~\177}|}}|||~\177~\177}|}}||~\177) +p(~\177}|}}||)o(~\177~\177}|}}||~)-26 1343 y(|\177}}}|~}\177||\177})o +(}}|~}\177||\177}}}|~}\177|||\177}}}|~}\177|||\177}}~}\177|||\177}}~}\177})p +(\177|||}}~}\177}\177|||}})o(~}\177}\177|||}}~)-26 1364 y +(~~|\177|\177}~\177\177~~|)o +(\177|\177}~\177\177~~|\177|\177}~\177\177~~~|\177|\177}~\177\177~~~|\177})p +(~\177\177~~~|\177}~\177\177\177\177~~|\177}~\177\177\177\177~~|\177)o +(}~\177\177\177\177~~|\177})-26 1384 y(}~}}\177}\177|}\177}~})o +(}\177}\177|}\177}~}}\177}\177|}\177}}~}}\177}\177|}\177}}~}}\177|}\177}}~)p +(}}\177|}\177}\177}}}}\177|}\177}\177}}}})o(\177|}\177}\177}}}}\177)-26 +1405 y(\177|}|\177\177||~\177\177|})o +(|\177\177||~\177\177|}|\177\177||~\177\177\177|}|\177\177||~\177\177\177|)p +(}|||~\177\177\177|}|||~\177\177\177\177\177}|||~\177\177\177\177\177}|)o +(||~\177\177\177\177\177}||)-26 1425 y(\177\177}|~||~~}\177\177})o +(|~||~~}\177\177}|~||~~}\177\177\177}|~||~~}\177\177\177}||~~}\177\177\177)p +(}||~~}\177\177\177\177}||~~}\177\177\177\177}|)o(|~~}\177\177\177\177}||)-26 +1446 y(\177\177\177|~}}}~}\177\177\177)o +(|~}}}~}\177\177\177|~}}}~}\177\177\177\177|~}}}~}\177\177\177\177|}}~}\177)p +(\177\177\177|}}~}\177\177\177\177\177|}}~}\177\177\177\177\177|)o +(}}~}\177\177\177\177\177|})-26 1466 y(||||~}|\177|}|||)o +(|~}|\177|}||||~}|\177|}|||||~}|\177|}||||||\177|}||||||\177|}|||||||\177|)p +(}||||||)o(|\177|}|||||||)-26 1487 y(|~~~~}|~|~|~~)o +(~~}|~|~|~~~~}|~|~||~~~~}|~|~||~~~|~|~||~~~|~|~||~~~||~|~||~~~|)o +(|~|~||~~~||)-26 1507 y(\177}~}~}|~}}\177}~)o +(}~}|~}}\177}~}~}|~}}\177\177}~}~}|~}}\177\177}~}|~}}\177\177}~}|~}}\177\177) +p(}~}|~~}}\177\177}~}|)o(~~}}\177\177}~}|~)-26 1528 y +(~|\177~\177~\177}~\177~|\177)o +(~\177~\177}~\177~|\177~\177~\177}~\177~~|\177~\177~\177}~\177~~|\177~\177)p +(}~\177~~|\177~\177}~\177~~|\177~\177}~~\177~~|\177~\177)o +(}~~\177~~|\177~\177})-26 1549 y(|}}\177~|}\177|}|}})o +(\177~|}\177|}|}}\177~|}\177|}||}}\177~|}\177|}||}}\177}\177|}||}}\177}\177)p +(|}||}}\177}\177|}}||}}\177})o(\177|}}||}}\177}\177)-26 1569 +y(\177}|\177\177~~\177\177}\177}|)o +(\177\177~~\177\177}\177}|\177\177~~\177\177}\177\177}|\177\177~~\177\177})p +(\177\177}|\177~\177\177}\177\177}|\177~\177\177}\177\177}|\177~\177\177}\177) +p(\177\177}|\177~)o(\177\177}\177\177\177}|\177~\177)-26 1590 +y(||\177}\177\177~}\177\177||\177)o +(}\177\177~}\177\177||\177}\177\177~}\177\177|||\177}\177\177~}\177\177|||)p +(\177}~}\177\177|||\177}~}\177\177|||\177}~}\177\177||||\177}~)o +(}\177\177||||\177}~})-26 1610 y(|~~|\177\177\177~\177\177|~~)o +(|\177\177\177~\177\177|~~|\177\177\177~\177\177||~~|\177\177\177~\177\177)p +(||~~|\177~\177\177||~~|\177~\177\177||~~|\177~\177\177||~~~|\177)o +(~\177\177||~~~|\177~)-26 1631 y(\177}~}}\177\177\177~|\177}~)o +(}}\177\177\177~|\177}~}}\177\177\177~|\177}~}}\177\177\177~|\177}~}}\177\177) +p(~|\177}~}}\177\177~|\177}~}}\177\177~|\177}~}}}\177\177)o +(~|\177}~}}}\177\177~)-26 1651 y(||\177~\177||||}||\177)o +(~\177||||}||\177~\177||||}||\177~\177||||}||\177~\177|||}||\177~\177|||}|)p +(|\177~\177|||}||\177~\177|||)o(|}||\177~\177||||)-26 1672 +y(}}}\177~|~~~~}}})o +(\177~|~~~~}}}\177~|~~~~}}}\177~|~~~~}}}\177~|~~~}}}\177~|~~~}}}\177~|~~~})p +(}}\177~|~~)o(~~}}}\177~|~~~)-26 1692 y(\177|\177||}}~}~\177|\177)o +(||}}~}~\177|\177||}}~}~\177|\177||}}~}~\177|\177||}~}~\177|\177||}~}~\177)p +(|\177||}~}~\177|\177||}~})o(}~\177|\177||}~}})-26 1713 y +(}\177}\177}}|\177~\177}\177})o +(\177}}|\177~\177}\177}\177}}|\177~\177}\177}\177}}|\177~\177}\177}\177}}\177) +p(~\177}\177}\177}}\177~\177}\177}\177}}\177~\177}\177}\177}}\177~)o +(\177\177}\177}\177}}\177~\177)-26 1733 y(~\177\177||\177|~|}~\177\177)o +(||\177|~|}~\177\177||\177|~|}~\177\177||\177|~|}~\177\177||\177~|}~\177\177) +p(||\177~|}~\177\177||\177~|}~\177\177||\177~|)o(}~~\177\177||\177~|})-26 +1754 y(\177~||~~|~}}\177~|)o +(|~~|~}}\177~||~~|~}}\177~||~~|~}}\177~||~~~}}\177~||~~~}}\177~||~~~}}\177)p +(~||~~~})o(}\177~~||~~~}})-26 1774 y(||}}}~}}~\177||})o +(}}~}}~\177||}}}~}}~\177||}}}~}}~\177||}}}~}}~\177||}}}~}}~\177||}}}~}}~\177) +p(||}}})o(~}}~\177||}}}~)-26 1795 y(|~~\177|\177~\177|}|~~)o +(\177|\177~\177|}|~~\177|\177~\177|}|~~\177|\177~\177|}|~~\177|\177~\177|})p +(|~~\177|\177~\177|}|~~\177|\177~\177|}|~~\177|)o(\177~\177|}|~~\177|\177)-26 +1815 y(\177}~}\177}\177~|~\177}~)o +(}\177}\177~|~\177}~}\177}\177~|~\177}~}\177}\177~|~\177}~}\177}\177~|~\177)p +(}~}\177}\177~|~\177}~}\177}\177~|~\177}~}\177)o(}\177~|~\177}~}\177})-26 +1836 y(\177\177|}||\177\177~~\177\177|)o +(}||\177\177~~\177\177|}||\177\177~~\177\177|}||\177\177~~\177\177|}||\177)p +(\177~~\177\177|}||\177\177~~\177\177|}||\177\177~~\177\177|}|)o +(|\177\177~~\177\177|}||)-26 1856 y(}\177\177}|~~||}}\177\177)o +(}|~~||}}\177\177}|~~||}}\177\177}|~~||}}\177\177}|~~||}}\177\177}|~~||}}\177) +p(\177}|~~||}}\177\177}|)o(~~||}}\177\177}|~)-26 1877 y +(~\177\177\177|~}~~~~\177\177)o +(\177|~}~~~~\177\177\177|~}~~~~\177\177\177|~}~~~~\177\177\177|~}~~~~\177\177) +p(\177|~}~~~~\177\177\177|~}~~~~\177\177\177|)o(~}~~~~\177\177\177|~)-120 +2285 y Fc(Pro)q(dondeur=)p Fb(\006)p Fc(1)995 2697 y Fa(1)p +eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/usergrps/uktug/baskervi/5_3/t1zmn.fd b/usergrps/uktug/baskervi/5_3/t1zmn.fd new file mode 100644 index 0000000000..b59778e379 --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/t1zmn.fd @@ -0,0 +1,114 @@ +\ProvidesFile{T1zmn.fd}[1995/06/11 font definitions for T1/zmn.] + +\DeclareFontFamily{T1}{zmn}{} +% condensed width +\DeclareFontShape{T1}{zmn}{lc}{n}{% + <-7>zmnl8tc6 % + <7-10>zmnl8tc8 % + <10-15>zmnl8tc11 % + <15->zmnl8tc18} +{} +\DeclareFontShape{T1}{zmn}{lc}{it}{% + <-7>zmnli8tc6% + <7-10>zmnli8tc8% + <10-15>zmnli8tc11% + <15->zmnli8tc18}{} +\DeclareFontShape{T1}{zmn}{mc}{n}{% + <-7>zmnm8tc6 + <7-10>zmnm8tc8 + <10-15>zmnm8tc11 + <15->zmnm8tc18}{} +\DeclareFontShape{T1}{zmn}{mc}{it}{% + <-7>zmnmi8tc6% + <7-10>zmnmi8tc8% + <10-15>zmnmi8tc11% + <15->zmnmi8tc18}{} +\DeclareFontShape{T1}{zmn}{bc}{n}{% + <-7>zmnb8tc6 + <7-10>zmnb8tc8 + <10-15>zmnb8tc11 + <15->zmnb8tc18}{} +\DeclareFontShape{T1}{zmn}{bc}{it}{% + <-7>zmnbi8tc6% + <7-10>zmnbi8tc8% + <10-15>zmnbi8tc11% + <15->zmnbi8tc18}{} + +% normal normal +\DeclareFontShape{T1}{zmn}{l}{n}{% + <-7>zmnl8t6% + <7-10>zmnl8t8% + <10-15>zmnl8t11% + <15->zmnl8t18}{} +\DeclareFontShape{T1}{zmn}{l}{it}{% + <-7>zmnli8t6% + <7-10>zmnli8t8% + <10-15>zmnli8t11% + <15->zmnli8t18}{} +\DeclareFontShape{T1}{zmn}{m}{n}{% + <-7>zmnm8t6% + <7-10>zmnm8t8% + <10-15>zmnm8t11% + <15->zmnm8t18}{} +\DeclareFontShape{T1}{zmn}{m}{it}{% + <-7>zmnmi8t6% + <7-10>zmnmi8t8% + <10-15>zmnmi8t11% + <15->zmnmi8t18}{} +\DeclareFontShape{T1}{zmn}{bx}{n}{% + <-7>zmnb8t6% + <7-10>zmnb8t8% + <10-15>zmnb8t11% + <15->zmnb8t18}{} +\DeclareFontShape{T1}{zmn}{bx}{it}{% + <-7>zmnbi8t6% + <7-10>zmnbi8t8% + <10-15>zmnbi8t11% + <15->zmnbi8t18}{} + +% expanded width +\DeclareFontShape{T1}{zmn}{lx}{n}{% + <-7>zmnl8tx6% + <7-10>zmnl8tx8% + <10-15>zmnl8tx11% + <15->zmnl8tx18}{} +\DeclareFontShape{T1}{zmn}{lx}{it}{% + <-7>zmnli8tx6% + <7-10>zmnli8tx8% + <10-15>zmnli8tx11% + <15->zmnli8tx18}{} +\DeclareFontShape{T1}{zmn}{mx}{n}{% + <-7>zmnm8tx6% + <7-10>zmnm8tx8% + <10-15>zmnm8tx11% + <15->zmnm8tx18}{} +\DeclareFontShape{T1}{zmn}{mx}{it}{% + <-7>zmnmi8tx6% + <7-10>zmnmi8tx8% + <10-15>zmnmi8tx11% + <15->zmnmi8tx18}{} +\DeclareFontShape{T1}{zmn}{bx}{n}{% + <-7>zmnb8tx6% + <7-10>zmnb8tx8% + <10-15>zmnb8tx11% + <15->zmnb8tx18}{} +\DeclareFontShape{T1}{zmn}{bx}{it}{% + <-7>zmnbi8tx6% + <7-10>zmnbi8tx8% + <10-15>zmnbi8tx11% + <15->zmnbi8tx18}{} +% small caps + +\DeclareFontShape{T1}{zmn}{m}{sc}{% + <-7>zmnmc8t6% + <7-10>zmnmc8t8% + <10-15>zmnmc8t11% + <15->zmnmc8t18}{} +\DeclareFontShape{T1}{zmn}{bx}{sc}{% + <-7>zmnbc8t6% + <7-10>zmnbc8t8% + <10-15>zmnbc8t11% + <15->zmnbc8t18}{} +\DeclareFontShape{T1}{zmn}{bx}{sc}{<->sub * zmn/b/sc}{} +\DeclareFontShape{T1}{zmn}{l}{sc}{<->sub * zmn/m/sc}{} +\endinput diff --git a/usergrps/uktug/baskervi/5_3/taylor.tex b/usergrps/uktug/baskervi/5_3/taylor.tex new file mode 100644 index 0000000000..2e8e29f79e --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/taylor.tex @@ -0,0 +1,44 @@ +\title{Letter to the editor} +\author[Philip Taylor]{Philip Taylor\\RHBNC} +\setcounter{figure}{0}% +\setcounter{table}{0}% +\begin{multicols}{2}[\Section{Letter to the editor}] +Sir -- many congratulations on an excellent and informative issue of +Baskerville (Vol.~5, No.~2); my only queries concern the article on +``Portable documents: Why Use SGML'' by Professor David Barron, in +which he writes: ``Traditionally, a document was a file (or a deck of +cards), and consisted solely of text''. I am surprised that Professor +Barron is apparently unaware of a far older tradition, in which a +document consisted of a series of sheets of paper (earlier, vellum or +papyrus) of uniform size, bound between two slightly larger and more +rigid sheets of board, and containing not only text but also illustrations +and other entities; this style of document, apparently common until at +least the end of the twentieth century, was called a ``book'', and +was highly portable, requiring very little in the way of support hardware +apart from some equally portable optical enhancement devices (``glasses'', +or ``spectacles'') for the visually challenged. Professor Barron then +goes on to write: ``[\ldots]: such a document is a \emph {multimedia} +document'': surely such a document is better termed a \emph {multimedium} +document, by analogy with existing \emph {multi\dots} words; I am sure +Professor Barron has never used a \emph {multipasses} compiler, plugged +in his computer to a \emph {multiways} socket outlet, or augmented +his computer system with a \emph {multipurposes} adapter. + +Yours very sincerely, + +\makeatletter +\@signature +\makeatother + +\begin{quote} +\emph{Professor Barron replies:} +Sir -- Philip Taylor is to be complimented on a fine display of pedantry +in the best academic tradition, the kind of tradition that gives academics +a bad name amongst normal folk. In computing we use lots of everyday +words with specialised meanings, and most of us find no difficulty +in using the context of an utterance to achieve any necessary disambiguation. +With regard to his criticism of my use of the term ``multimedia document'', +I agree that I don't plug my computer into a multiways socket. But then, +I don't attend a performance of an operum at Covent Garden, either. +\end{quote} +\end{multicols} diff --git a/usergrps/uktug/baskervi/5_3/tds.tex b/usergrps/uktug/baskervi/5_3/tds.tex new file mode 100644 index 0000000000..62725b90ab --- /dev/null +++ b/usergrps/uktug/baskervi/5_3/tds.tex @@ -0,0 +1,39 @@ +\title{Standard for \TeX\ Directory Structures} +\author{} +\begin{Article} +The TUG Working Group on a \TeX\ Directory Structure announces that +a draft of the proposed \TeX\ Directory Structure standard is available +for public review. + +You can get it by FTP from: +\begin{verbatim} + <CTAN host>:/tex-archive/tds/draft-standard +\end{verbatim} + +Comments and suggestions are welcome. Please communicate them by email to +\texttt{twg-tds@shsu.edu} +or by paper mail to +\begin{quote} + Norman Walsh\\ + O'Reilly \& Associates, Inc.\\ + 90 Sherman Street\\ + Cambridge, MA 02140 \\ + USA +\end{quote} + +The primary purpose of this document is to describe a standard \TeX\ +Directory Structure (TDS) for macros, fonts, and other such +implementation-independent \TeX\ files. As a matter of practicality, it +also suggests ways to incorporate the rest of the \TeX\ files into a +single structure. In the not-so-long run a consistent directory +structure will make it much easier to install and maintain \TeX. We +hope that administrators and developers of both free and commercial +implementations of \TeX\ will adopt this standard. It has been designed +to work on all modern systems. In particular, this Technical Working +Group (TWG) believes it is usable under Unix, MS-DOS, OS/2, MacOS, and +VMS. + +We hope to publish another draft, or make the final release (depending +on the volume of comments and concerns) shortly after TUG 95. + +\end{Article}
\ No newline at end of file |