From f2461d37fbf50a9a0469fd575362ab099d8e0390 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 30 Jun 2020 10:08:04 +0900 Subject: acromemory update --- ctan2tds-config.pl | 1 + texmf-dist/doc/latex/acromemory/README.md | 69 +- texmf-dist/doc/latex/acromemory/acromemory-man.pdf | Bin 0 -> 482430 bytes texmf-dist/doc/latex/acromemory/acromemory-man.tex | 483 ++ texmf-dist/doc/latex/acromemory/acromemory.pdf | Bin 0 -> 283964 bytes texmf-dist/doc/latex/acromemory/acromemory_man.pdf | Bin 70213 -> 0 bytes .../doc/latex/acromemory/examples/acromemory1.tex | 53 + .../latex/acromemory/examples/acromemory1_1.pdf | Bin 230931 -> 0 bytes .../latex/acromemory/examples/acromemory1_1.tex | 77 - .../latex/acromemory/examples/acromemory1_2.tex | 77 - .../doc/latex/acromemory/examples/acromemory2.tex | 66 + .../latex/acromemory/examples/acromemory2_1.pdf | Bin 506379 -> 0 bytes .../latex/acromemory/examples/acromemory2_1.tex | 86 - .../latex/acromemory/examples/acromemory2_2.tex | 84 - .../latex/acromemory/examples/dinos/myDinos.eps | 8771 ++------------------ .../latex/acromemory/examples/dinos/myDinos.pdf | Bin 20185 -> 2588 bytes .../latex/acromemory/examples/dinos/myDinos.tex | 43 - .../latex/acromemory/examples/dinos/myDinos_01.pdf | Bin 14476 -> 2588 bytes .../latex/acromemory/examples/dinos/myDinos_02.pdf | Bin 14475 -> 2525 bytes .../latex/acromemory/examples/dinos/myDinos_03.pdf | Bin 14475 -> 2494 bytes .../latex/acromemory/examples/dinos/myDinos_04.pdf | Bin 14476 -> 2512 bytes .../latex/acromemory/examples/dinos/myDinos_05.pdf | Bin 14475 -> 2691 bytes .../latex/acromemory/examples/dinos/myDinos_06.pdf | Bin 14477 -> 2696 bytes .../latex/acromemory/examples/dinos/myDinos_07.pdf | Bin 14476 -> 2600 bytes .../latex/acromemory/examples/dinos/myDinos_08.pdf | Bin 14477 -> 2463 bytes .../latex/acromemory/examples/dinos/myDinos_09.pdf | Bin 14477 -> 2274 bytes .../latex/acromemory/examples/dinos/myDinos_10.pdf | Bin 14475 -> 2794 bytes .../acromemory/examples/dinos/myDinos_files.pdf | Bin 0 -> 3946 bytes .../acromemory/examples/dinos/myDinos_files.tex | 71 + .../acromemory/examples/dinos/myDinos_package.pdf | Bin 0 -> 9894 bytes .../acromemory/examples/dinos/myDinos_package.tex | 31 + .../latex/acromemory/examples/dpsweb/dpsweb.eps | 6467 --------------- .../latex/acromemory/examples/dpsweb/dpsweb.pdf | Bin 227623 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_01.pdf | Bin 211447 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_02.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_03.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_04.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_05.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_06.pdf | Bin 211447 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_07.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_08.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_09.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_10.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_11.pdf | Bin 211447 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_12.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_13.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_14.pdf | Bin 211443 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_15.pdf | Bin 211449 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_16.pdf | Bin 211445 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_17.pdf | Bin 211447 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_18.pdf | Bin 211447 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_19.pdf | Bin 211447 -> 0 bytes .../latex/acromemory/examples/dpsweb/dpsweb_20.pdf | Bin 211447 -> 0 bytes .../acromemory/examples/dpsweb/dpsweb_package.pdf | Bin 4121481 -> 0 bytes .../latex/acromemory/examples/duckie/duckie-tg.tex | 14 + .../latex/acromemory/examples/duckie/duckie.eps | 1004 +++ .../latex/acromemory/examples/duckie/duckie.pdf | Bin 0 -> 31897 bytes .../latex/acromemory/examples/duckie/duckie_01.pdf | Bin 0 -> 29674 bytes .../latex/acromemory/examples/duckie/duckie_02.pdf | Bin 0 -> 29678 bytes .../latex/acromemory/examples/duckie/duckie_03.pdf | Bin 0 -> 29680 bytes .../latex/acromemory/examples/duckie/duckie_04.pdf | Bin 0 -> 29679 bytes .../latex/acromemory/examples/duckie/duckie_05.pdf | Bin 0 -> 29682 bytes .../latex/acromemory/examples/duckie/duckie_06.pdf | Bin 0 -> 29674 bytes .../latex/acromemory/examples/duckie/duckie_07.pdf | Bin 0 -> 29678 bytes .../latex/acromemory/examples/duckie/duckie_08.pdf | Bin 0 -> 29678 bytes .../latex/acromemory/examples/duckie/duckie_09.pdf | Bin 0 -> 29679 bytes .../latex/acromemory/examples/duckie/duckie_10.pdf | Bin 0 -> 29681 bytes .../latex/acromemory/examples/duckie/duckie_11.pdf | Bin 0 -> 29669 bytes .../latex/acromemory/examples/duckie/duckie_12.pdf | Bin 0 -> 29673 bytes .../latex/acromemory/examples/duckie/duckie_13.pdf | Bin 0 -> 29678 bytes .../latex/acromemory/examples/duckie/duckie_14.pdf | Bin 0 -> 29678 bytes .../latex/acromemory/examples/duckie/duckie_15.pdf | Bin 0 -> 29678 bytes .../latex/acromemory/examples/duckie/duckie_16.pdf | Bin 0 -> 29665 bytes .../latex/acromemory/examples/duckie/duckie_17.pdf | Bin 0 -> 29669 bytes .../latex/acromemory/examples/duckie/duckie_18.pdf | Bin 0 -> 29675 bytes .../latex/acromemory/examples/duckie/duckie_19.pdf | Bin 0 -> 29675 bytes .../latex/acromemory/examples/duckie/duckie_20.pdf | Bin 0 -> 29675 bytes .../acromemory/examples/duckie/duckie_package.pdf | Bin 0 -> 56555 bytes texmf-dist/source/latex/acromemory/acromemory.dtx | 1029 ++- .../source/latex/acromemory/aeb_pro/aeb_pro.js | 106 - .../source/latex/acromemory/doc/acromemory_man.tex | 510 -- texmf-dist/tex/latex/acromemory/acromemory.sty | 1338 ++- 82 files changed, 3556 insertions(+), 16824 deletions(-) create mode 100644 texmf-dist/doc/latex/acromemory/acromemory-man.pdf create mode 100644 texmf-dist/doc/latex/acromemory/acromemory-man.tex create mode 100644 texmf-dist/doc/latex/acromemory/acromemory.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/acromemory_man.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1.tex delete mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex delete mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1_2.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2.tex delete mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex delete mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2_2.tex delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.tex delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_01.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_02.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_03.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_04.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_05.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_06.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_07.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_08.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_09.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_10.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_11.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_12.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_13.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_14.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_15.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_16.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_17.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_18.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_19.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_20.pdf delete mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_package.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie-tg.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie.eps create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_01.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_02.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_03.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_04.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_05.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_06.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_07.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_08.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_09.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_10.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_11.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_12.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_13.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_14.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_15.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_16.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_17.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_18.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_19.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_20.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/duckie/duckie_package.pdf delete mode 100644 texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js delete mode 100644 texmf-dist/source/latex/acromemory/doc/acromemory_man.tex diff --git a/ctan2tds-config.pl b/ctan2tds-config.pl index 163adec2..344eb444 100644 --- a/ctan2tds-config.pl +++ b/ctan2tds-config.pl @@ -24,6 +24,7 @@ $special{'datepicker-pro'} = '&MAKEdps'; $special{'aeb-pro'} = '&MAKEdps'; $special{'annot-pro'} = '&MAKEdps'; $special{'acrotex'} = '&MAKEdps'; +$special{'acromemory'} = '&MAKEdps'; $special{'aeb-mlink'} = '&MAKEdps'; $special{'aeb-minitoc'} = '&MAKEdps'; $special{'graphicxsp'} = '&MAKEdps'; diff --git a/texmf-dist/doc/latex/acromemory/README.md b/texmf-dist/doc/latex/acromemory/README.md index ebdc5008..03bbd9c6 100644 --- a/texmf-dist/doc/latex/acromemory/README.md +++ b/texmf-dist/doc/latex/acromemory/README.md @@ -1,44 +1,43 @@ -aebacromemory --- D. P. Story -Dated: 2017-02-23 +aebacromemory +Dated: 2020-06-23 +Author: D. P. Story -AcroMemory requires Adobe Distiller as the PDF creator, as well as the -use of Acrobat. +AcroMemory is a memory game in which you find the matching +tiles. There are two versions, available as options of this +package, acromemory1 and acromemory2 (the default). -What's New (2017/02/23) Correct the need for Acrobat as the viewer -application. The game now correctly function when the user view a AcroMemory -game in Adobe Reader. +acromemory1: Here you have a single game board, a rectangular +region divided by rows and columns. The total number of tiles +should be even, each tile should have a matching twin. The game +begins with all the tiles hidden. The user clicks a tile, then +another. If the tiles do not match, they become hidden again ; +otherwise, they remain visible and are now read-only. The game +is complete when the user, with a lot of time on his/her hands, +matches all tiles. There is a running tabulation kept on the +number of tries. There is also a button which resets the game +and randomizes the tiles. -AcroMemory is a memory game in which you find the matching tiles. There -are two versions, available as options of this package, acromemory1 and -acromemory2 (the default). +acromemory2: For this game you have two identical rectangular +images subdivided into tiles, which are arrayed in rows and +columns. The tiles for one of the two images are randomly +re-arranged. The object of the game is to find all the matching +tiles by choosing a tile from one image and a tile from the +other image. As in the first case, if the selected tiles do not +match, they are hidden after a short interval of time; +otherwise, they remain visible and are now read-only. The game +is over when all tiles are matched; when this occurs, +end-of-game special effects occur that will dazzle the senses. +There is an option to view a small image to help you locate the +matching tiles on the non-randomized; useful if the image is +complex. There is a button which resets the the game and +randomized the tiles. -acromemory1: Here you have a single game board, a rectangular -region divided by rows and columns. The total number of tiles should be -even, each tile should have a matching twin. The game begins with all -the tiles hidden. The user clicks a tile, then another. If the tiles do -not match, they become hidden again (you did remember the position of -those tiles, didn't you?); otherwise, they remain visible and are now -read-only. The game is complete when the user, with a lot of time on -his/her hands, matches all tiles. There is a running tabulation kept on -the number of tries. There is also a button which resets the game and -randomizes the tiles. - -acromemory2: For this game you have two identical rectangular images -subdivided into tiles (or slices), which are arrayed in rows and columns. -The tiles for one of the two images is randomly re-arranged. The object of -the game is to find all the matching tiles by choosing a tile from one -image and a tile from the other image. As in the first case, if the -selected tiles do not match, they are hidden after a short interval of -time (you did remember the position of those tiles, didn't you?); -otherwise, they remain visible and are now read-only. The game is over -when all tiles are matched; when this occurs, end-of-game special effects -occur that will dazzle the senses. There is an option to view a small -image to help you locate the matching tiles on the non-randomized; useful -if the image is complex. There is no reset button at this time, to play -again, the user must therefore close and open the document. +What's New v2.0 (2020-06-23): acromemory has been completely +re-written so that all LaTeX workflows are now supported: +pdflatex, lualatex, xelatex, and dvips -> distiller. Now, I simply must get back to my retirement. D. P. Story dpstory@acrotex.net -2011/12/31 + diff --git a/texmf-dist/doc/latex/acromemory/acromemory-man.pdf b/texmf-dist/doc/latex/acromemory/acromemory-man.pdf new file mode 100644 index 00000000..e0ed6ffa Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/acromemory-man.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/acromemory-man.tex b/texmf-dist/doc/latex/acromemory/acromemory-man.tex new file mode 100644 index 00000000..86262a72 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/acromemory-man.tex @@ -0,0 +1,483 @@ +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage[ + web={centertitlepage,designv,forcolorpaper,latextoc,pro}, + eforms, +% linktoattachments, + aebxmp +]{aeb_pro} +\usepackage{pifont} +\usepackage{graphicx} +%\usepackage{aeb_mlink} +%\usepackage{myriadpro} +%\usepackage[usecmtt]{myriadpro} +\usepackage[altbullet]{lucidbry} +\usepackage{acroman} +\usepackage[active]{srcltx} + +\edef\amtIndent{\the\parindent} + +%\usepackage{myriadpro} +%\usepackage{acaslonpro} +%\usepackage{ajensonpro} +%\usepackage{minionpro} +%\usepackage{newsgothicstd} +%\usepackage{lucidbry} + +\DeclareDocInfo +{ + university={\AcroTeX.Net}, + title={The \textsf{acromemory} Package}, + author={D. P. Story}, + email={dpstory@acrotex.net}, + subject=Documentation for the acromemory package, + talksite={\url{www.acrotex.net}}, + version={2.0, 2020/06/23}, + Keywords={LaTeX, form field, memory puzzles, AcroTeX}, + copyrightStatus=True, + copyrightNotice={Copyright (C) 2006--\the\year, D. P. Story}, + copyrightInfoURL={http://www.acrotex.net} +} + +\def\nhfootnote#1{\begin{NoHyper}\footnote{#1}\end{NoHyper}} + +\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} + + +\chngDocObjectTo{\newDO}{doc} +\begin{docassembly} +var titleOfManual="The acromemory Package"; +var manualfilename="Manual_BG_Print_acromemory.pdf"; +var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown +var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate; +var doc; +var buildIt=false; +if ( buildIt ) { + console.println("Creating new " + manualfilename + " file."); + doc = \appopenDoc({cPath: _pathToBlank, bHidden: true}); + var _path=this.path; + var pos=_path.lastIndexOf("/"); + _path=_path.substring(0,pos)+"/"+manualfilename; + \docSaveAs\newDO ({ cPath: _path }); + doc.closeDoc(); + doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true}); + f=doc.getField("ManualTitle"); + f.value=titleOfManual; + doc.flattenPages(); + \docSaveAs\newDO({ cPath: manualfilename }); + doc.closeDoc(); +} else { + console.println("Using the current "+manualfilename+" file."); +} +var _path=this.path; +var pos=_path.lastIndexOf("/"); +_path=_path.substring(0,pos)+"/"+manualfilename; +\addWatermarkFromFile({ + bOnTop:false, + bOnPrint:false, + cDIPath:_path +}); +\executeSave(); +\end{docassembly} +\begin{document} + +%\begingroup + +%\linewidth=\fullscreenwidth +%\advance\linewidth\oddsidemargin +%\setlength{\oddsidemargin}{0pt} +\maketitle + +%\endgroup + +\changelinkcolorto{black} + +\tableofcontents + +\changelinkcolorto{webgreen} + + +\section{Introduction} + +\pkg{AcroMemory} (\pkg{acromemory}) is a memory game in which you find the +matching tiles. There are two versions---available as options of +this package---for your enjoyment, \texttt{acromemory1} and +\texttt{acromemory2} (the default). Only one option is allowed to be taken for any document, +only one memory puzzle per document is supported. (In theory, you can have multiple instances of the same +memory puzzle, but I don't really see a need for that.) +\begin{itemize} + \item \texttt{acromemory1}: Here you have a single game board, a + rectangular region divided by rows and columns. The total number + of tiles \emph{must} be even, each tile \emph{must} have a matching twin. + The game begins with all the tiles hidden. The user clicks a + tile, then another. If the tiles do not match, they become + hidden again (you did remember the position of those tiles, + didn't you?); otherwise, they remain visible and are now + read-only. The game is complete when the user, with a lot of time + on his/her hands, matches all tiles. There is a running + tabulation kept on the number of tries. There is also a button + which resets the game and randomizes the tiles. + + \item \texttt{acromemory2}: For this game you have two identical + rectangular images subdivided into tiles (or slices), which + are arrayed in rows and columns. The tiles for one of the + two images is randomly re-arranged. The object of the + game is to find all the matching tiles by choosing a tile + from one image and a tile from the other image. As in the + first case, if the selected tiles do not match, they are + hidden after a short interval of time (you did remember the + position of those tiles, didn't you?); otherwise, they + remain visible and are now read-only. The game is over when + all tiles are matched; when this occurs, end-of-game special + effects occur that will dazzle the senses. There is an + option to view a small image to help you locate the matching + tiles on the non-randomized; useful if the image is complex. +\end{itemize} +\paragraph*{The demo files.} These are \texttt{acromemory1.tex} and +\texttt{acromemory2.tex}. These files show how to lay out the +various elements of this package. + +\paragraph*{Supported workflows.} This new version of \pkg{acromemory} is a complete +re-write of the old version. All the common workflows are supported: \app{pdflatex}, +\app{lualatex}, \app{xelatex}, and \app{dvips -> distiller}. + +\section{Package Options} + +There are a few options of this package: +\begin{itemize} + \item \texttt{acromemory1} and \texttt{acromemory2}: As described + earlier. The \texttt{acromemory2} option is the default. + + \item \texttt{draft}: The \opt{draft} option is passed to the + \pkg{graphicx} package. Useful when setting up the layout of your + document and when composing the document. Works for \app{pdflatex} + and \app{lualatex} PDF creators. + + \item \texttt{includehelp}: When building a file with the acromemory2 + option, you can also include a help image, a small picture of the + game board to help the user to match the randomized tiles with the + ones on the non-randomized game board. Useful if the image is very + complex. The demo file \texttt{acromemory2.tex} contains the + necessary code for producing the help feature, the commands only + create the help feature if the \opt{includehelp} option is taken. +\end{itemize} + +\section{Commands of the Package} + +We describe the commands of this package as well as methodology for creating +tiled graphics for use by this package. + +\subsection{Commands for the \textsf{acromemory1} option} + +\begin{figure}[htb]\centering\fboxsep0pt +\fbox{\includegraphics[width=.5\linewidth]{graphics/am1}} +\caption{Partially worked \textsf{acromemory1} puzzle}\label{fig:am1} +\end{figure} + +\paragraph*{The preamble.} +For the \opt{acromemory1} option, the preamble begins with some variation of +the following: +\bVerb\def\1{\llap{\ding{192}\enspace}}\def\2{\llap{\ding{193}\enspace}} +\begin{minipage}[t]{.5\linewidth} +\begin{Verbatim}[fontsize=\small,commandchars=!()] +!normalfont!bfseries(Using the !pkg(web) package) +\documentclass{article} +!1\usepackage[% +!1 web=designv,useacrobat +!1]{aeb_pro} +!2%\usepackage[designv]{web} +\usepackage[acromemory1]{acromemory} +\end{Verbatim} +\end{minipage}\hfill +\begin{minipage}[t]{.5\linewidth} +\begin{Verbatim}[fontsize=\small,commandchars=!()] +!normalfont!bfseries(Without using the !pkg(web) package) +\documentclass{article} +\usepackage[acromemory1]{acromemory} +\end{Verbatim} +\end{minipage} +\eVerb The lines \ding{192} are optional, the advantage of using the +\pkg{aeb\_pro} package is that it enables the example files to be compiled +\emph{using all workflows}: \app{pdflatex}, \app{lualatex}, \app{xelatex}, +and \app{dvips\,->\,distiller}. The alternative is to use \ding{193}, that +is, the \pkg{web} package with a design option, in this case \opt{designv}. +On the right is the appropriate declarations without using \pkg{web}. All +sample files use the \pkg{web} package. + +\subparagraph*{Embedding the tiles.} The next step is to embed the tiles +using the \env{embedding} environment of the \pkg{icon-appr} +package:\footnote{\url{https://ctan.org/pkg/icon-appr}} +\begin{Verbatim}[fontsize=\small,xleftmargin=\amtIndent] +\begin{embedding} +%\isPackage +\amEmbedTiles{dinos}{10}{dinos/mydinos} +\end{embedding} +\end{Verbatim} +The \cs{isPackage} and \cs{amEmbedTiles} commands are used for embedding the +tiles. +\bVerb\takeMeasure{\string\amEmbedTiles\darg{\ameta{name}}\darg{\ameta{n-tiles}}\darg{\ameta{path}}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\isPackage +\amEmbedTiles{!ameta(name)}{!ameta(n-tiles)}{!ameta(path)} +\end{dCmd} +\eVerb were \ameta{name} is the name of the tile set; \ameta{n-tiles} is the +number of \emph{distinct tiles}, and \ameta{path} is the path to the base name of +the graphics. Note that for puzzles of type \opt{acromemory1}, the tiles are +doubled to make a total of $2\times \texttt{\ameta{n-tiles}}$ tiles on the board. + +\subparagraph*{Comments on the tiled files required.} There are two ways the tiles +are delivered: +\begin{enumerate} + \item As a single package file, in which case the \pkg{acromemory} package + looks for the file \texttt{\ameta{path}\_package.pdf}. The tiles are + the pages of the package document. Signal to \pkg{acromemory} that the tiles + are packaged by including \cs{isPackage} prior to the \cs{embedTiles} command. + For example, from the \texttt{acromemory1.tex} demo file, +\begin{Verbatim}[xleftmargin=\amtIndent] +\begin{embedding} +\isPackage +\amEmbedTiles{dinos}{10}{dinos/mydinos} +\end{embedding} +\end{Verbatim} + \pkg{acromemory} looks for the file \texttt{mydinos\_package.pdf} in the + \texttt{dinos} folder. + + \textbf{Note.} This feature is only available for the \app{pdflatex}, \app{lualatex}, + and \app{dvips\,->\,distiller} workflows. + \item If the files are not packaged, \pkg{acromemory} looks for the files + \texttt{\ameta{path}\_01.pdf}, \texttt{\ameta{path}\_02.pdf}, \dots, \texttt{\ameta{path}\_10.pdf}, \dots. + This method is available to all workflows, including \app{xelatex}. +\end{enumerate} +In addition to the tiles themselves, packaged or not, \pkg{acromemory} needs +one or two more files. We illustrate using the dinos example. For the +\app{dvips\,->\,distiller} workflow, \app{acromemory} looks for +\texttt{mydinos.eps}; for all other workflows, it looks for +\texttt{mydinos.pdf}. These files are used to measure the dimensions of a +typical tile. The two basic files \texttt{mydinos.eps} and +\texttt{mydinos.pdf} are just one of the tiles, perhaps it is just +\texttt{mydinos\_01} as an EPS or PDF file.\footnote{If you never use the +\app{dvips\,->\,distiller} workflow, EPS file is not needed.} + + +\paragraph*{In the body of the document.} + +After the tiles have been embedded (in the preamble), we are ready to insert +the tiles into the document with \cs{insertTiles}: +\begin{Verbatim}[xleftmargin=\parindent] +\insertTiles{dinos}{2in}{5}{4} +\end{Verbatim} +The syntax for \cs{insertTiles} is, +\bVerb\takeMeasure{\string\insertTiles\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{n-rows}}\darg{\ameta{n-cols}}}% +% +\begin{dCmd}[commandchars=!()]{\bxSize} +\insertTiles{!ameta(name)}{!ameta(width)}{!ameta(n-rows)}{!ameta(n-cols)} +\end{dCmd} +\eVerb where \ameta{name} matches the \ameta{name} to an earlier embedding; +\ameta{width} is the width of your puzzle board; \ameta{n-rows} is the number +of rows; and \ameta{n-cols} is the number of columns. Of course, $\texttt{\ameta{n-rows}}\times\texttt{\ameta{n-cols}}=2\times\texttt{\ameta{n-tiles}}$. + +\paragraph*{Other controls.} There a two other controls to mention. +\bVerb\takeMeasure{\string\playItAgain[\ameta{eforms-opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}}% +% +\begin{dCmd}[commandchars=!()]{\bxSize} +\messageBox[!ameta(eforms-opts)]{!ameta(wd)}{!ameta(ht)} +\playItAgain[!ameta(eforms-opts)]{!ameta(wd)}{!ameta(ht)} +\end{dCmd} +\eVerb \cs{messageBox} is a text field that displays various running scores; while +\cs{playItAgain} is a push button for starting the matching game. + +\newtopic\noindent +The results of all this effort are seen in \hyperref[fig:am1]{Figure~\ref*{fig:am1}}, +or by compiling, playing, and enjoying the file \texttt{acromemory1.tex}. + + +\paragraph*{Creating the tiles.} +This contents of these paragraphs can be skipped over on first reading. The +sample file \texttt{acromemory1.tex} uses the `Mini Pics Lil Dinos' font set; +you need not have the font set itself, the glyphs are contained in the +mydinos support files. + +In this paragraph, we discuss the methodology for creating your own tile files. +Two support files were developed to create the required files: +\begin{itemize} + \item \texttt{myDinos\_package.tex} is used to create + \texttt{myDinos\_package.tex}, required for the \app{pdflatex}, + \app{lualatex}, and \app{dvips\,->\,distiller} workflows. This file + should be studied to create your own package file with some other font + set. + \item \texttt{myDinos\_files.tex} is used to create the individual files, + \begin{quote}\texttt{myDinos\_01.pdf}, \texttt{myDinos\_02.pdf}, \dots, + \texttt{myDinos\_10.pdf}\end{quote} as well as the two additional files + \texttt{myDinos.pdf} and \texttt{myDinos.eps}. Again, this file should + be studied and modified to create these individual files for your own + font. +\end{itemize} +You need not use a font set to create the tile files, you can use a series of +small graphics instead. We leave this as an exercise. + +\subsection{Commands for the \textsf{acromemory2} option} + +\begin{figure}[htb]\centering\fboxsep0pt +\fbox{\includegraphics[width=.5\linewidth]{graphics/am2}} +\caption{Partially worked \textsf{acromemory2} puzzle}\label{fig:am2} +\end{figure} + + +\noindent This option produces a two board matching game. +\hyperref[fig:am2]{Figure~\ref*{fig:am2}} is a snapshot of the +demo file \texttt{acromemory2.tex}. +\paragraph*{Creating the required (tiled) graphics.} For this option you don't have to have a fancy font, any (interesting) +picture will do. The first step is to decide how many rows and columns you +want and then tile the image appropriately. To tile the graphic, use the +\pkg{tile-graphic} package.\footnote{\url{https://ctan.org/pkg/tile-graphic}} +In the \texttt{examples/duckie} folder, you will find \texttt{duckie-tg.tex}, +which was used to produce all the files needed to create the demo file +\texttt{acromemory2.pdf}. Compile \texttt{duckie-tg.tex} using your preferred +workflow to produce all required files. + +\newtopic\noindent +Let's walk through the components of \texttt{acromemory2.tex}. + +\paragraph*{The preamble.} +For the \opt{acromemory2} option, the preamble begins with some variation of +the following: +\bVerb\def\1{\llap{\ding{192}\enspace}}\def\2{\llap{\ding{193}\enspace}} +\begin{minipage}[t]{.5\linewidth} +\begin{Verbatim}[fontsize=\small,commandchars=!()] +!normalfont!bfseries(Using the !pkg(web) package) +\documentclass{article} +!1\usepackage[% +!1 web=designv,useacrobat +!1]{aeb_pro} +!2%\usepackage[designv]{web} +\usepackage[includehelp]{acromemory} +\end{Verbatim} +\end{minipage}\hfill +\begin{minipage}[t]{.5\linewidth} +\begin{Verbatim}[fontsize=\small,commandchars=!()] +!normalfont!bfseries(Without using the !pkg(web) package) +\documentclass{article} +\usepackage[includehelp]{acromemory} +\end{Verbatim} +\end{minipage} +\eVerb The lines \ding{192} are optional, the advantage of using the +\pkg{aeb\_pro} package is that it enables the example files to be compiled +\emph{using all workflows}: \app{pdflatex}, \app{lualatex}, \app{xelatex}, +and \app{dvips\,->\,distiller}. The alternative is to use \ding{193}, that +is, the \pkg{web} package with a design option, in this case \opt{designv}. +On the right is the appropriate declarations without using \pkg{web}. All +sample files use the \pkg{web} package. The use of the \opt{includehelp} +option is optional. + +\subparagraph*{Embedding the tiles.} The next step is to embed the tiles +using the \env{embedding} environment of the \pkg{icon-appr} +package:\footnote{\url{https://ctan.org/pkg/icon-appr}} +\begin{Verbatim}[fontsize=\small,xleftmargin=\amtIndent] +\begin{embedding} +%\isPackage +\amEmbedTiles{duck}{20}{duckie/duckie} +\end{embedding} +\end{Verbatim} +The \cs{isPackage} and \cs{amEmbedTiles} commands are used for embedding the +tiles. +\bVerb\takeMeasure{\string\amEmbedTiles\darg{\ameta{name}}\darg{\ameta{n-tiles}}\darg{\ameta{path}}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\isPackage +\amEmbedTiles{!ameta(name)}{!ameta(n-tiles)}{!ameta(path)} +\end{dCmd} +\eVerb were \ameta{name} is the name of the tile set; \ameta{n-tiles} is the +number of \emph{tiles}, and \ameta{path} is the path to the base name of +the graphics. + +In addition to the tiles themselves, packaged or not, \pkg{acromemory} needs +one or two more files. We illustrate using the duckie example. For the +\app{dvips\,->\,distiller} workflow, \app{acromemory} looks for +\texttt{duckie.eps}; for all other workflows, it looks for +\texttt{dickie.pdf}. These files are used to measure the dimensions of the +image.\footnote{If you never use the \app{dvips\,->distiller} workflow, +EPS file is not needed.} + + +\paragraph*{In the body of the document.} + +After the tiles have been embedded (in the preamble), we are ready to insert +the tiles into the document. Keep in mind, there are two puzzle boards: +the left one which is the non-randomize tiled picture, and the one on the right +which is the randomized tiled picture. The two commands \cs{insertTilesL} and \cs{insertTilesR} +insert the left and right puzzle boards, respectively. For example, +\begin{Verbatim}[xleftmargin=\parindent] +\insertTilesL{duck}{2in}{4}{5}\qquad +\insertTilesR{duck}{2in}{4}{5} +\end{Verbatim} +The syntax for \cs{insertTilesL} and \cs{insertTilesR} is, +\bVerb\takeMeasure{\string\insertTilesL\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{n-rows}}\darg{\ameta{n-cols}}}% +% +\begin{dCmd}[commandchars=!()]{\bxSize} +\insertTilesL{!ameta(name)}{!ameta(width)}{!ameta(n-rows)}{!ameta(n-cols)} +\insertTilesR{!ameta(name)}{!ameta(width)}{!ameta(n-rows)}{!ameta(n-cols)} +\end{dCmd} +\eVerb where \ameta{name} matches the \ameta{name} to an earlier embedding; +\ameta{width} is the width of your puzzle board; \ameta{n-rows} is the number +of rows; and \ameta{n-cols} is the number of columns. Of course, $\texttt{\ameta{n-rows}}\times\texttt{\ameta{n-cols}}=\texttt{\ameta{n-tiles}}$. + +\paragraph*{Other controls.} There a two other controls to mention. +\bVerb\takeMeasure{\string\rolloverHelpButton[\ameta{eforms-opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}}% +% +\begin{dCmd}[commandchars=!()]{\bxSize} +\tryItAgain[!ameta(eforms-opts)]{!ameta(wd)}{!ameta(ht)} +\messageBox[!ameta(eforms-opts)]{!ameta(wd)}{!ameta(ht)} +\helpImage[!ameta(eforms-opts)]{!ameta(wd)}{!ameta(ht)} +\rolloverHelpButton[!ameta(eforms-opts)]{!ameta(wd)}{!ameta(ht)} +\end{dCmd} +\eVerb \cs{messageBox} is a text field that displays various running scores; while +\cs{tryItAgain} is a push button for starting the matching game. The other two +commands \cs{helpImage} and \cs{rolloverHelpButton} are used when the \opt{includehelp} +option is taken. These two commands do nothing if \opt{includehelp} is not specified. + +\newtopic\noindent +The results of all this effort are seen in \hyperref[fig:am2]{Figure~\ref*{fig:am2}}, +or by compiling, playing, and enjoying the file \texttt{acromemory2.tex}. + + +\subsection{Commands common to both options} + +When the user begins to work on the puzzle(s) without first pressing the +`\textsf{Play again}' or the `\textsf{Test your Memory}' button, an alert box +with the one of the following messages appear, depending on whether +\opt{acromemory1} or \opt{acromemory2} option is in force: +\begin{Verbatim} +\newcommand{\initFirstiMsg}{"Press the 'Play again' + button to initialize the puzzle"} +\newcommand{\initFirstiiMsg}{"Press the 'Test Your Memory' + button to initialize the puzzle"} +\end{Verbatim} +`\textsf{Play again}' and `\textsf{Test your Memory}' are the default +captions to the \cs{playItAgain} and \cs{tryItAgain} controls. Should you change the +caption of, for example, \cs{playItAgain}, you would then redefine \cs{initFirstiMsg}: +\begin{Verbatim}[xleftmargin=\amtIndent] +\playItAgain[\CA{Play!}]{}{12pt} +\renewcommand{\initFirstiMsg}{"Press the 'Play!' button to + initialize the puzzle"} +\end{Verbatim} +Or, perhaps redefine the captions and messages for some other language. + + + +\section{Final comments} + +Use any of the demo files as a template to create your own memory +game. Don't forget (use your memory?) that the \textsf{web} package +has options to apply a background color or a graphic---this will +jazz up your memory game. + +I do hope you find this game package fun, and that you will be +creative in its use. Perhaps you can apply the techniques of this +package to create your own game package, there are many +possibilities. + +\newtopic Now, I simply must get back to my retirement! \dps + + + +\end{document} diff --git a/texmf-dist/doc/latex/acromemory/acromemory.pdf b/texmf-dist/doc/latex/acromemory/acromemory.pdf new file mode 100644 index 00000000..a54cb721 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/acromemory.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/acromemory_man.pdf b/texmf-dist/doc/latex/acromemory/acromemory_man.pdf deleted file mode 100644 index 191e9a6a..00000000 Binary files a/texmf-dist/doc/latex/acromemory/acromemory_man.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory1.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory1.tex new file mode 100644 index 00000000..19a4eadf --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/acromemory1.tex @@ -0,0 +1,53 @@ +\documentclass{article} +\usepackage[web=designv,useacrobat]{aeb_pro} +%\usepackage[designv]{web} +\usepackage[acromemory1]{acromemory} + +\title{AcroMemory\texorpdfstring{\\}{: }The Memory Game} +\author{D. P. Story} +\subject{Sample file} +\keywords{Adobe Acrobat, LaTeX, PDF, Memory, Game} + +\email{dpstory@acrotex.net} +\version{1.0} +\copyrightyears{\the\year} + +\definecolor{bg}{rgb}{0.89,0.9,0.9} +\optionalPageMatter{% + \par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{bg}{% + \begin{minipage}{.67\linewidth} + \noindent\textcolor{red}{\textbf{Instructions:}} + Match images in the game board on the next page, the important thing + is to have fun. + \end{minipage}} + \end{center} +} +\begin{embedding} +\isPackage +\amEmbedTiles{dinos}{10}{dinos/mydinos} +\end{embedding} + +\parskip6pt +\parindent0pt +\pagestyle{empty} + +\begin{document} + +\maketitle + +%\previewOn\pmpvOn + +\begin{center} + \bfseries \Large\color{blue} AcroMemory\\[1ex] + \large D. P. Story\normalcolor + + \insertTiles{dinos}{2in}{5}{4} + + \messageBox{2in}{2\baselineskip}\vcgBdry[1ex] + \playItAgain{}{12bp} + +\end{center} + +\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf b/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf deleted file mode 100644 index 066e7aa3..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex deleted file mode 100644 index f45a114c..00000000 --- a/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex +++ /dev/null @@ -1,77 +0,0 @@ -\documentclass{article} -\usepackage[designv,nodirectory]{web} % dvips or dvipsone -\usepackage[execJS]{eforms} % this is required -\usepackage{graphicx} % required, too -\usepackage[acromemory1,iconfile]{acromemory} - -%\usepackage{myriadpro} - -\title{AcroMemory\texorpdfstring{\\}{: }The Memory Game} -\author{D. P. Story} -\subject{Sample file} -\keywords{Adobe Acrobat, LaTeX, PDF, Memory, Game} - -\email{dpstory@acrotex.net} -\version{1.0} -\copyrightyears{\the\year} - -\definecolor{bg}{rgb}{0.89,0.9,0.9} -\optionalPageMatter{% - \par\minimumskip\vspace{\stretch{1}} - \begin{center} - \fcolorbox{blue}{bg}{ - \begin{minipage}{.67\linewidth} - \noindent\textcolor{red}{\textbf{Instructions:}} - Match images in the game board on the next page, the important thing - is to have fun. - \end{minipage}} - \end{center} -} -% -% Comment out the next command out when you are ready to -% publish the game. Un-comment for preview/debugging purposes. -% -% \bDebug -% -% Commands for specifying the dimensions, rows, columns and paths -% -\theTotalTiles{20} -\theNumRows{5} -\theNumCols{4} -\theImportPath{dinos/mydinos} -\theTeXImageWidth{2in} -% -% The tiles were made to be 2in x 2in. 5 rows and 4 columns gives -% me 8in x 10in game board. But, if I rescale the width to 2in, then -% we rescale using a factor of 0.25, which leads to a 2in x 2.5in -% game board, and that is what I declare! -% -\provideDimensions{2in}{2.5in} - -\parskip6pt -\parindent0pt -\pagestyle{empty} - -\begin{document} - -%\maketitle -%\previewtrue - -\begin{center} -\bfseries \Large\color{blue} AcroMemory\\[1ex] -\large D. P. Story\normalcolor - -% -% I leave space by dimension by specifying the size of the rescaled -% game board to be 2in x 2.5in. -% -% Set the upper left corner here, and leave room for the game board. -% -\ulCornerHere\reserveSpaceByDimension{2in}{2.5in} - - - \messageBox{2in}{25pt}\\[1ex] - \playItAgain{}{12bp} -\end{center} - -\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory1_2.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory1_2.tex deleted file mode 100644 index 0dbb9537..00000000 --- a/texmf-dist/doc/latex/acromemory/examples/acromemory1_2.tex +++ /dev/null @@ -1,77 +0,0 @@ -\documentclass{article} -\usepackage[designv,nodirectory]{web} % dvips or dvipsone -\usepackage[execJS]{eforms} % this is required -\usepackage{graphicx} % required, too -\usepackage[acromemory1]{acromemory} - -%\usepackage{myriadpro} - -\title{AcroMemory\texorpdfstring{\\}{: }The Memory Game} -\author{D. P. Story} -\subject{Sample file} -\keywords{Adobe Acrobat, LaTeX, PDF, Memory, Game} - -\email{dpstory@acrotex.net} -\version{1.0} -\copyrightyears{\the\year} - -\definecolor{bg}{rgb}{0.89,0.9,0.9} -\optionalPageMatter{% - \par\minimumskip\vspace{\stretch{1}} - \begin{center} - \fcolorbox{blue}{bg}{ - \begin{minipage}{.67\linewidth} - \noindent\textcolor{red}{\textbf{Instructions:}} - Match images in the gameboard on the next page, the important thing - is to have fun. - \end{minipage}} - \end{center} -} -% -% Comment out the next command out when you are ready to -% publish the game. Un-comment for preview/debugging purposes. -% -% \bDebug -% -% Commands for specifying the dimensions, rows, columns and paths -% -\theTotalTiles{20} -\theNumRows{5} -\theNumCols{4} -\theImportPath{dinos/mydinos} -\theTeXImageWidth{2in} -% -% The tiles were made to be 2in x 2in. 5 rows and 4 columns gives -% me 8in x 10in game board. But, if I rescale the width to 2in, then -% we rescale using a factor of 0.25, which leads to a 2in x 2.5in -% game board, and that is what I declare! -% -\provideDimensions{2in}{2.5in} - -\parskip6pt -\parindent0pt -\thispagestyle{empty} - -\begin{document} - -%\maketitle - -\begin{center} -\bfseries \Large\color{blue} AcroMemory\\[1ex] -\large D. P. Story\normalcolor - -% -% I leave space by dimension by specifying the size of the rescaled -% game board to be 2in x 2.5in. -% -% Set the upper left corner here, and leave room for the game board. -% -\ulCornerHere\reserveSpaceByDimension{2in}{2.5in} - -\end{center} -\begin{center} - \messageBox{2in}{25pt}\\[1ex] - \playItAgain{}{12bp} -\end{center} - -\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory2.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory2.tex new file mode 100644 index 00000000..1cf29519 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/acromemory2.tex @@ -0,0 +1,66 @@ +\documentclass{article} +\usepackage[web=designv,useacrobat]{aeb_pro} +%\usepackage[designv]{web} +\usepackage[includehelp]{acromemory} + +\title{AcroMemory\texorpdfstring{\\}{: }The Memory Game} +\author{D. P. Story} +\subject{Sample file} +\keywords{Adobe Acrobat, LaTeX, PDF, Memory, Game} + +\email{dpstory@acrotex.net} +\version{1.0} +\copyrightyears{\the\year} + +\definecolor{bg}{rgb}{0.89,0.9,0.9} +\optionalPageMatter{% + \par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{bg}{% + \begin{minipage}{.67\linewidth} + \noindent\textcolor{red}{\textbf{Instructions:}} + Match the randomized images on the right, to the non-randomized + images on the left. Passing is having the patience to complete + the memory game. + \end{minipage}} + \end{center} +} + +\begin{embedding} +\isPackage +\amEmbedTiles{duck}{20}{duckie/duckie} +\end{embedding} + +\parskip6pt +\parindent0pt +\thispagestyle{empty} + +\begin{document} + +\maketitle + +\begin{center} +\bfseries \Large\color{blue} Feed the Duckie!\\[1ex] +\large D. P. Story +\end{center} + +\begin{center} + +\insertTilesL{duck}{2in}{4}{5}\qquad +\insertTilesR{duck}{2in}{4}{5} + +\end{center} + + +\bigskip +\begin{center} + +\tryItAgain{}{11bp} + +\helpImage[\textSize{8}]{1in}\cgBdry[1em] +\messageBox{2in}{25pt}\cgBdry[1em] +\rolloverHelpButton{}{12pt} + +\end{center} + +\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf b/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf deleted file mode 100644 index 8c7dff82..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex deleted file mode 100644 index e8ceb56f..00000000 --- a/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex +++ /dev/null @@ -1,86 +0,0 @@ -\documentclass{article} -\usepackage[designv]{web} % dvips or dvipsone -\usepackage[execJS]{eforms} % this is required -\usepackage{graphicx} % required, too -\usepackage[iconfile,includehelp]{acromemory} % here use the iconfile and includehelp options - -\title{AcroMemory\texorpdfstring{\\}{: }The Memory Game} -\author{D. P. Story} -\subject{Sample file} -\keywords{Adobe Acrobat, LaTeX, PDF, Memory, Game} - -\email{dpstory@acrotex.net} -\version{1.0} -\copyrightyears{\the\year} - -\definecolor{bg}{rgb}{0.89,0.9,0.9} -\optionalPageMatter{% - \par\minimumskip\vspace{\stretch{1}} - \begin{center} - \fcolorbox{blue}{bg}{ - \begin{minipage}{.67\linewidth} - \noindent\textcolor{red}{\textbf{Instructions:}} - Match the randomized images on the right, to the non-randomized - images on the left. Passing is having the patience to complete - the memory game. - \end{minipage}} - \end{center} -} -% -% Comment out the next command out when you are ready to -% publish the game. Un-comment for preview/debugging purposes. -% -% \bDebug -% -% Commands for specifying the dimensions, rows, columns and paths -% -\theTotalTiles{20} -\theNumRows{4} -\theNumCols{5} -% -% The required argument is the path to the tiles making up the -% game board. The option argument is the path to an .eps image -% of the entire game board, this is used by \reserveSpaceByFile -% to leave space in the latex document for the game board -% -\theImportPath[dpsweb/dpsweb]{dpsweb/dpsweb_package} -\theTeXImageWidth{2in} - -\parskip6pt -\parindent0pt -\thispagestyle{empty} - -\begin{document} - -\maketitle - - -\begin{center} -\bfseries \Large\color{blue} AcroMemory\\[1ex] -\large D. P. Story\normalcolor - -% -% Put the corners here and reserve space for each board. I'll put the -% left one (the non-randomized one on the left) and the right one -% (the board that is randomized) on the right. The position of these -% boards can be switched. Just remember, wherever you place it, -% \LulCornerHere is the non-randomized board. -% -\LulCornerHere\reserveSpaceByFile\qquad\RulCornerHere\reserveSpaceByFile - -\end{center} - - -\bigskip -\begin{center} - -% -% Place the \helpImage to the left of the \messageBox, and the \rolloverHelpButton -% to the right of the \messageBox. Of course, arrange it yourself. -% - -\helpImage[\textSize{8}]\quad\messageBox{2in}{25pt}\quad\rolloverHelpButton{}{12pt} - -\end{center} - -\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory2_2.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory2_2.tex deleted file mode 100644 index a61b7432..00000000 --- a/texmf-dist/doc/latex/acromemory/examples/acromemory2_2.tex +++ /dev/null @@ -1,84 +0,0 @@ -\documentclass{article} -\usepackage[designv,nodirectory]{web} % dvips or dvipsone -\usepackage[execJS]{eforms} % required -\usepackage{graphicx} % also required -\usepackage{acromemory} - -\title{AcroMemory\texorpdfstring{\\}{: }The Memory Game} -\author{D. P. Story} -\subject{Sample file} -\keywords{Adobe Acrobat, LaTeX, PDF, Memory, Game} - -\email{dpstory@acrotex.net} -\version{1.0} -\copyrightyears{\the\year} - -\definecolor{bg}{rgb}{0.89,0.9,0.9} -\optionalPageMatter{% - \par\minimumskip\vspace{\stretch{1}} - \begin{center} - \fcolorbox{blue}{bg}{ - \begin{minipage}{.67\linewidth} - \noindent\textcolor{red}{\textbf{Instructions:}} - Match the randomized images on the right, to the non-randomized - images on the left. Passing is having the patience to complete - the memory game. - \end{minipage}} - \end{center} -} -% -% Comment out the next command out when you are ready to -% publish the game. Un-comment for preview/debugging purposes. -% -% \bDebug -% -% Commands for specifying the dimensions, rows, columns and paths -% -\theTotalTiles{20} -\theNumRows{4} -\theNumCols{5} -% -% Unlike acromemory2_1.tex, I don't need the optional argument. dpsweb is the base name -% of everything, including an .eps image of the game board, dpsweb.eps. -% -\theImportPath{dpsweb/dpsweb} -\theTeXImageWidth{2in} -\parskip6pt -\parindent0pt -\thispagestyle{empty} - -\begin{document} - -% \maketitle - -\begin{center} -\bfseries \Large\color{blue} AcroMemory\\[1ex] -\large D. P. Story -\end{center} - -\begin{center} - -% -% Put the corners here and reserve space for each board. I'll put the -% left one (the non-randomized one on the left) and the right one -% (the board that is randomized) on the right. The position of these -% boards can be switched. Just remember, wherever you place it, -% \LulCornerHere is the non-randomized board. -% -\LulCornerHere\reserveSpaceByFile\qquad\RulCornerHere\reserveSpaceByFile -\end{center} - - -\bigskip -\begin{center} - -% -% Place the \helpImage to the left of the \messageBox, and the \rolloverHelpButton -% to the right of the \messageBox. Of course, arrange it yourself. -% - - \helpImage\quad\messageBox{2in}{25pt}\quad\rolloverHelpButton{}{12pt} - -\end{center} - -\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.eps b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.eps index 43bc3134..55d9bbda 100644 --- a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.eps +++ b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.eps @@ -1,8145 +1,664 @@ -%!PS-Adobe-3.1 EPSF-3.0 -%ADO_DSC_Encoding: Windows Roman -%%Title: myIcons.pdf -%%Creator: Adobe Acrobat 8.0 -%%For: Donald Story -%%CreationDate: 11/13/2006, 10:12:24 AM +%!PS-Adobe-3.0 EPSF-3.0 +%Produced by poppler pdftops version: 0.60.1 (http://poppler.freedesktop.org) +%%Creator: The AcroTeX eDucation Bundle +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) %%BoundingBox: 0 0 144 144 %%HiResBoundingBox: 0 0 144 144 -%%CropBox: 0 0 144 144 -%%LanguageLevel: 2 -%%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) -%%DocumentNeededFeatures: (atend) -%%DocumentSuppliedFeatures: (atend) -%%DocumentData: Clean7Bit -%%Pages: (atend) -%%DocumentProcessColors: -%%DocumentCustomColors: (atend) %%EndComments -%%BeginDefaults -%%ViewingOrientation: 1 0 0 1 -%%EndDefaults %%BeginProlog -%%BeginResource: procset Adobe_AGM_Utils 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2003 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{currentpacking true setpacking}if -userdict/Adobe_AGM_Utils 73 dict dup begin put -/bdf -{bind def}bind def -/nd{null def}bdf -/xdf -{exch def}bdf -/ldf -{load def}bdf -/ddf -{put}bdf -/xddf -{3 -1 roll put}bdf -/xpt -{exch put}bdf -/ndf -{ - exch dup where{ - pop pop pop - }{ - xdf - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/gx -{get exec}bdf -/ps_level - /languagelevel where{ - pop systemdict/languagelevel gx - }{ - 1 - }ifelse -def -/level2 - ps_level 2 ge -def -/level3 - ps_level 3 ge -def -/ps_version - {version cvr}stopped{-1}if -def -/set_gvm -{currentglobal exch setglobal}bdf -/reset_gvm -{setglobal}bdf -/makereadonlyarray -{ - /packedarray where{pop packedarray - }{ - array astore readonly}ifelse -}bdf -/map_reserved_ink_name -{ - dup type/stringtype eq{ - dup/Red eq{ - pop(_Red_) - }{ - dup/Green eq{ - pop(_Green_) - }{ - dup/Blue eq{ - pop(_Blue_) - }{ - dup()cvn eq{ - pop(Process) - }if - }ifelse - }ifelse - }ifelse - }if -}bdf -/AGMUTIL_GSTATE 22 dict def -/get_gstate -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_clr_spc currentcolorspace def - /AGMUTIL_GSTATE_clr_indx 0 def - /AGMUTIL_GSTATE_clr_comps 12 array def - mark currentcolor counttomark - {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop - /AGMUTIL_GSTATE_fnt rootfont def - /AGMUTIL_GSTATE_lw currentlinewidth def - /AGMUTIL_GSTATE_lc currentlinecap def - /AGMUTIL_GSTATE_lj currentlinejoin def - /AGMUTIL_GSTATE_ml currentmiterlimit def - currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf - /AGMUTIL_GSTATE_sa currentstrokeadjust def - /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def - /AGMUTIL_GSTATE_op currentoverprint def - /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def - /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def - currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf - cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf - /AGMUTIL_GSTATE_ht currenthalftone def - /AGMUTIL_GSTATE_flt currentflat def - end -}def -/set_gstate -{ - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_clr_spc setcolorspace - AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor - AGMUTIL_GSTATE_fnt setfont - AGMUTIL_GSTATE_lw setlinewidth - AGMUTIL_GSTATE_lc setlinecap - AGMUTIL_GSTATE_lj setlinejoin - AGMUTIL_GSTATE_ml setmiterlimit - AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash - AGMUTIL_GSTATE_sa setstrokeadjust - AGMUTIL_GSTATE_clr_rnd setcolorrendering - AGMUTIL_GSTATE_op setoverprint - AGMUTIL_GSTATE_bg cvx setblackgeneration - AGMUTIL_GSTATE_ucr cvx setundercolorremoval - AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx - AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer - AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or - { - currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne - { - mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark - }if - }{ - AGMUTIL_GSTATE_ht sethalftone - }ifelse - AGMUTIL_GSTATE_flt setflat - end -}def -/get_gstate_and_matrix -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_ctm matrix currentmatrix def - end - get_gstate -}def -/set_gstate_and_matrix -{ - set_gstate - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_ctm setmatrix - end -}def -/AGMUTIL_str256 256 string def -/AGMUTIL_src256 256 string def -/AGMUTIL_dst64 64 string def -/AGMUTIL_srcLen nd -/AGMUTIL_ndx nd -/AGMUTIL_cpd nd -/capture_cpd{ - //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf -}def -/thold_halftone -{ - level3 - {sethalftone currenthalftone} - { - dup/HalftoneType get 3 eq - { - sethalftone currenthalftone - }{ - begin - Width Height mul{ - Thresholds read{pop}if - }repeat - end - currenthalftone - }ifelse - }ifelse -}def -/rdcmntline -{ - currentfile AGMUTIL_str256 readline pop - (%)anchorsearch{pop}if -}bdf -/filter_cmyk -{ - dup type/filetype ne{ - exch()/SubFileDecode filter - }{ - exch pop - } - ifelse - [ - exch - { - AGMUTIL_src256 readstring pop - dup length/AGMUTIL_srcLen exch def - /AGMUTIL_ndx 0 def - AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ - 1 index exch get - AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put - /AGMUTIL_ndx AGMUTIL_ndx 1 add def - }for - pop - AGMUTIL_dst64 0 AGMUTIL_ndx getinterval - } - bind - /exec cvx - ]cvx -}bdf -/filter_indexed_devn -{ - cvi Names length mul names_index add Lookup exch get -}bdf -/filter_devn -{ - 4 dict begin - /srcStr xdf - /dstStr xdf - dup type/filetype ne{ - 0()/SubFileDecode filter - }if - [ - exch - [ - /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx - currentdict/srcStr get/readstring cvx/pop cvx - /dup cvx/length cvx 0/gt cvx[ - Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx - names_index Names length currentdict/srcStr get length 1 sub{ - 1/index cvx/exch cvx/get cvx - currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx - Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx - }for - currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx - ]cvx/if cvx - /end cvx - ]cvx - bind - /exec cvx - ]cvx - end -}bdf -/AGMUTIL_imagefile nd -/read_image_file -{ - AGMUTIL_imagefile 0 setfileposition - 10 dict begin - /imageDict xdf - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - /imbufIdx 0 def - /origDataSource imageDict/DataSource get def - /origMultipleDataSources imageDict/MultipleDataSources get def - /origDecode imageDict/Decode get def - /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def - imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse - { - /imbufCnt imageDict/DataSource get length def - /imbufs imbufCnt array def - 0 1 imbufCnt 1 sub{ - /imbufIdx xdf - imbufs imbufIdx imbufLen string put - imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put - }for - DeviceN_PS2{ - imageDict begin - /DataSource[DataSource/devn_sep_datasource cvx]cvx def - /MultipleDataSources false def - /Decode[0 1]def - end - }if - }{ - /imbuf imbufLen string def - Indexed_DeviceN level3 not and DeviceN_NoneName or{ - /srcDataStrs[imageDict begin - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi string - }repeat - end]def - imageDict begin - /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def - /Decode[0 1]def - end - }{ - imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put - imageDict/Decode[0 1]put - }ifelse - }ifelse - imageDict exch - load exec - imageDict/DataSource origDataSource put - imageDict/MultipleDataSources origMultipleDataSources put - imageDict/Decode origDecode put - end -}bdf -/write_image_file -{ - begin - {(AGMUTIL_imagefile)(w+)file}stopped{ - false - }{ - Adobe_AGM_Utils/AGMUTIL_imagefile xddf - 2 dict begin - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ - /imbuf imbufLen string def - }if - 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ - pop - MultipleDataSources{ - 0 1 DataSource length 1 sub{ - DataSource type dup - /arraytype eq{ - pop DataSource exch gx - }{ - /filetype eq{ - DataSource exch get imbuf readstring pop - }{ - DataSource exch get - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }for - }{ - DataSource type dup - /arraytype eq{ - pop DataSource exec - }{ - /filetype eq{ - DataSource imbuf readstring pop - }{ - DataSource - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }ifelse - }for - end - true - }ifelse - end -}bdf -/close_image_file -{ - AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile -}def -statusdict/product known userdict/AGMP_current_show known not and{ - /pstr statusdict/product get def - pstr(HP LaserJet 2200)eq - pstr(HP LaserJet 4000 Series)eq or - pstr(HP LaserJet 4050 Series )eq or - pstr(HP LaserJet 8000 Series)eq or - pstr(HP LaserJet 8100 Series)eq or - pstr(HP LaserJet 8150 Series)eq or - pstr(HP LaserJet 5000 Series)eq or - pstr(HP LaserJet 5100 Series)eq or - pstr(HP Color LaserJet 4500)eq or - pstr(HP Color LaserJet 4600)eq or - pstr(HP LaserJet 5Si)eq or - pstr(HP LaserJet 1200 Series)eq or - pstr(HP LaserJet 1300 Series)eq or - pstr(HP LaserJet 4100 Series)eq or - { - userdict/AGMP_current_show/show load put - userdict/show{ - currentcolorspace 0 get - /Pattern eq - {false charpath f} - {AGMP_current_show}ifelse - }put - }if - currentdict/pstr undef -}if -/consumeimagedata -{ - begin - AGMIMG_init_common - currentdict/MultipleDataSources known not - {/MultipleDataSources false def}if - MultipleDataSources - { - DataSource 0 get type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width cvi string def - 1 1 Height cvi - { - pop - 0 1 DataSource length 1 sub - { - DataSource exch get - flushbuffer readstring pop pop - }for - }for - end - }if - dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and - { - Width Height mul cvi - { - 0 1 DataSource length 1 sub - {dup DataSource exch gx length exch 0 ne{pop}if}for - dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - } - { - /DataSource load type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width Decode length 2 idiv mul cvi string def - 1 1 Height{pop DataSource flushbuffer readstring pop pop}for - end - }if - dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and - { - Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul - { - DataSource length dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - }ifelse - end -}bdf -/addprocs -{ - 2{/exec load}repeat - 3 1 roll - [5 1 roll]bind cvx -}def -/modify_halftone_xfer -{ - currenthalftone dup length dict copy begin - currentdict 2 index known{ - 1 index load dup length dict copy begin - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs/TransferFunction xdf - currentdict end def - currentdict end sethalftone - }{ - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs/TransferFunction xdf - currentdict end sethalftone - pop - }ifelse -}def -/clonearray -{ - dup xcheck exch - dup length array exch - Adobe_AGM_Core/AGMCORE_tmp -1 ddf - { - Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf - dup type/dicttype eq - { - Adobe_AGM_Core/AGMCORE_tmp get - exch - clonedict - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - dup type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_tmp get exch - clonearray - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - exch dup - Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put - }forall - exch{cvx}if -}bdf -/clonedict -{ - dup length dict - begin - { - dup type/dicttype eq - {clonedict}if - dup type/arraytype eq - {clonearray}if - def - }forall - currentdict - end -}bdf -/DeviceN_PS2 -{ - /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and -}bdf -/Indexed_DeviceN -{ - /indexed_colorspace_dict AGMCORE_gget dup null ne{ - dup/CSDBase known{ - /CSDBase get/CSD get_res/Names known - }{ - pop false - }ifelse - }{ - pop false - }ifelse -}bdf -/DeviceN_NoneName -{ - /Names where{ - pop - false Names - { - (None)eq or - }forall - }{ - false - }ifelse -}bdf -/DeviceN_PS2_inRip_seps -{ - /AGMCORE_in_rip_sep where - { - pop dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and - { - /currentcolorspace exch AGMCORE_gput - false - }{ - true - }ifelse - }{ - true - }ifelse - }{ - true - }ifelse -}bdf -/base_colorspace_type -{ - dup type/arraytype eq{0 get}if -}bdf -/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse -{ - /pdfmark_5{cleartomark}bind def -}{ - /pdfmark_5{pdfmark}bind def -}ifelse -/ReadBypdfmark_5 -{ - currentfile exch 0 exch/SubFileDecode filter - /currentdistillerparams where - {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse - {flushfile cleartomark} - {/PUT pdfmark}ifelse -}bdf -/xpdfm -{ - { - dup 0 get/Label eq - { - aload length[exch 1 add 1 roll/PAGELABEL - }{ - aload pop - [{ThisPage}<<5 -2 roll>>/PUT - }ifelse - pdfmark_5 - }forall -}bdf -/ds{ - Adobe_AGM_Utils begin -}bdf -/dt{ - currentdict Adobe_AGM_Utils eq{ - end - }if -}bdf -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_AGM_Core 2.0 0 -%%Version: 2.0 0 -%%Copyright: Copyright(C)1997-2005 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Core 209 dict dup begin put -/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def -/AGMCORE_str256 256 string def -/AGMCORE_save nd -/AGMCORE_graphicsave nd -/AGMCORE_c 0 def -/AGMCORE_m 0 def -/AGMCORE_y 0 def -/AGMCORE_k 0 def -/AGMCORE_cmykbuf 4 array def -/AGMCORE_screen[currentscreen]cvx def -/AGMCORE_tmp 0 def -/AGMCORE_&setgray nd -/AGMCORE_&setcolor nd -/AGMCORE_&setcolorspace nd -/AGMCORE_&setcmykcolor nd -/AGMCORE_cyan_plate nd -/AGMCORE_magenta_plate nd -/AGMCORE_yellow_plate nd -/AGMCORE_black_plate nd -/AGMCORE_plate_ndx nd -/AGMCORE_get_ink_data nd -/AGMCORE_is_cmyk_sep nd -/AGMCORE_host_sep nd -/AGMCORE_avoid_L2_sep_space nd -/AGMCORE_distilling nd -/AGMCORE_composite_job nd -/AGMCORE_producing_seps nd -/AGMCORE_ps_level -1 def -/AGMCORE_ps_version -1 def -/AGMCORE_environ_ok nd -/AGMCORE_CSD_cache 0 dict def -/AGMCORE_currentoverprint false def -/AGMCORE_deltaX nd -/AGMCORE_deltaY nd -/AGMCORE_name nd -/AGMCORE_sep_special nd -/AGMCORE_err_strings 4 dict def -/AGMCORE_cur_err nd -/AGMCORE_current_spot_alias false def -/AGMCORE_inverting false def -/AGMCORE_feature_dictCount nd -/AGMCORE_feature_opCount nd -/AGMCORE_feature_ctm nd -/AGMCORE_ConvertToProcess false def -/AGMCORE_Default_CTM matrix def -/AGMCORE_Default_PageSize nd -/AGMCORE_Default_flatness nd -/AGMCORE_currentbg nd -/AGMCORE_currentucr nd -/AGMCORE_pattern_paint_type 0 def -/knockout_unitsq nd -currentglobal true setglobal -[/CSA/Gradient/Procedure] -{ - /Generic/Category findresource dup length dict copy/Category defineresource pop -}forall -setglobal -/AGMCORE_key_known -{ - where{ - /Adobe_AGM_Core_Id known - }{ - false - }ifelse -}ndf -/flushinput -{ - save - 2 dict begin - /CompareBuffer 3 -1 roll def - /readbuffer 256 string def - mark - { - currentfile readbuffer{readline}stopped - {cleartomark mark} - { - not - {pop exit} - if - CompareBuffer eq - {exit} - if - }ifelse - }loop - cleartomark - end - restore -}bdf -/getspotfunction -{ - AGMCORE_screen exch pop exch pop - dup type/dicttype eq{ - dup/HalftoneType get 1 eq{ - /SpotFunction get - }{ - dup/HalftoneType get 2 eq{ - /GraySpotFunction get - }{ - pop - { - abs exch abs 2 copy add 1 gt{ - 1 sub dup mul exch 1 sub dup mul add 1 sub - }{ - dup mul exch dup mul add 1 exch sub - }ifelse - }bind - }ifelse - }ifelse - }if -}def -/np -{newpath}bdf -/clp_npth -{clip np}def -/eoclp_npth -{eoclip np}def -/npth_clp -{np clip}def -/graphic_setup -{ - /AGMCORE_graphicsave save store - concat - 0 setgray - 0 setlinecap - 0 setlinejoin - 1 setlinewidth - []0 setdash - 10 setmiterlimit - np - false setoverprint - false setstrokeadjust - //Adobe_AGM_Core/spot_alias gx - /Adobe_AGM_Image where{ - pop - Adobe_AGM_Image/spot_alias 2 copy known{ - gx - }{ - pop pop - }ifelse - }if - /sep_colorspace_dict null AGMCORE_gput - 100 dict begin - /dictstackcount countdictstack def - /showpage{}def - mark -}def -/graphic_cleanup -{ - cleartomark - dictstackcount 1 countdictstack 1 sub{end}for - end - AGMCORE_graphicsave restore -}def -/compose_error_msg -{ - grestoreall initgraphics - /Helvetica findfont 10 scalefont setfont - /AGMCORE_deltaY 100 def - /AGMCORE_deltaX 310 def - clippath pathbbox np pop pop 36 add exch 36 add exch moveto - 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto - 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath - 0 AGMCORE_&setgray - gsave 1 AGMCORE_&setgray fill grestore - 1 setlinewidth gsave stroke grestore - currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto - /AGMCORE_deltaY 12 def - /AGMCORE_tmp 0 def - AGMCORE_err_strings exch get - { - dup 32 eq - { - pop - AGMCORE_str256 0 AGMCORE_tmp getinterval - stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt - { - currentpoint AGMCORE_deltaY sub exch pop - clippath pathbbox pop pop pop 44 add exch moveto - }if - AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show - 0 1 AGMCORE_str256 length 1 sub - { - AGMCORE_str256 exch 0 put - }for - /AGMCORE_tmp 0 def - }{ - AGMCORE_str256 exch AGMCORE_tmp xpt - /AGMCORE_tmp AGMCORE_tmp 1 add def - }ifelse - }forall -}bdf -/AGMCORE_CMYKDeviceNColorspaces[ - [/Separation/None/DeviceCMYK{0 0 0}] - [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] - [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] - [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] - [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] - [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] - [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] - [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] - [/Separation(Cyan)/DeviceCMYK{0 0 0}] - [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] - [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] - [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] - [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] - [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] - [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] - [/DeviceCMYK] -]def -/ds{ - Adobe_AGM_Core begin - /currentdistillerparams where - { - pop currentdistillerparams/CoreDistVersion get 5000 lt - {<>setdistillerparams}if - }if - /AGMCORE_ps_version xdf - /AGMCORE_ps_level xdf - errordict/AGM_handleerror known not{ - errordict/AGM_handleerror errordict/handleerror get put - errordict/handleerror{ - Adobe_AGM_Core begin - $error/newerror get AGMCORE_cur_err null ne and{ - $error/newerror false put - AGMCORE_cur_err compose_error_msg - }if - $error/newerror true put - end - errordict/AGM_handleerror get exec - }bind put - }if - /AGMCORE_environ_ok - ps_level AGMCORE_ps_level ge - ps_version AGMCORE_ps_version ge and - AGMCORE_ps_level -1 eq or - def - AGMCORE_environ_ok not - {/AGMCORE_cur_err/AGMCORE_bad_environ def}if - /AGMCORE_&setgray systemdict/setgray get def - level2{ - /AGMCORE_&setcolor systemdict/setcolor get def - /AGMCORE_&setcolorspace systemdict/setcolorspace get def - }if - /AGMCORE_currentbg currentblackgeneration def - /AGMCORE_currentucr currentundercolorremoval def - /AGMCORE_Default_flatness currentflat def - /AGMCORE_distilling - /product where{ - pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and - }{ - false - }ifelse - def - /AGMCORE_GSTATE AGMCORE_key_known not{ - /AGMCORE_GSTATE 21 dict def - /AGMCORE_tmpmatrix matrix def - /AGMCORE_gstack 32 array def - /AGMCORE_gstackptr 0 def - /AGMCORE_gstacksaveptr 0 def - /AGMCORE_gstackframekeys 14 def - /AGMCORE_&gsave/gsave ldf - /AGMCORE_&grestore/grestore ldf - /AGMCORE_&grestoreall/grestoreall ldf - /AGMCORE_&save/save ldf - /AGMCORE_&setoverprint/setoverprint ldf - /AGMCORE_gdictcopy{ - begin - {def}forall - end - }def - /AGMCORE_gput{ - AGMCORE_gstack AGMCORE_gstackptr get - 3 1 roll - put - }def - /AGMCORE_gget{ - AGMCORE_gstack AGMCORE_gstackptr get - exch - get - }def - /gsave{ - AGMCORE_&gsave - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge{limitcheck}if - /AGMCORE_gstackptr exch store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /grestore{ - AGMCORE_&grestore - AGMCORE_gstackptr 1 sub - dup AGMCORE_gstacksaveptr lt{1 add}if - dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known - {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse - /AGMCORE_gstackptr exch store - }def - /grestoreall{ - AGMCORE_&grestoreall - /AGMCORE_gstackptr AGMCORE_gstacksaveptr store - }def - /save{ - AGMCORE_&save - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 32 ge{limitcheck}if - /AGMCORE_gstackptr exch store - /AGMCORE_gstacksaveptr AGMCORE_gstackptr store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /setoverprint{ - dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint - }def - 0 1 AGMCORE_gstack length 1 sub{ - AGMCORE_gstack exch AGMCORE_gstackframekeys dict put - }for - }if - level3/AGMCORE_&sysshfill AGMCORE_key_known not and - { - /AGMCORE_&sysshfill systemdict/shfill get def - /AGMCORE_&sysmakepattern systemdict/makepattern get def - /AGMCORE_&usrmakepattern/makepattern load def - }if - /currentcmykcolor[0 0 0 0]AGMCORE_gput - /currentstrokeadjust false AGMCORE_gput - /currentcolorspace[/DeviceGray]AGMCORE_gput - /sep_tint 0 AGMCORE_gput - /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput - /sep_colorspace_dict null AGMCORE_gput - /devicen_colorspace_dict null AGMCORE_gput - /indexed_colorspace_dict null AGMCORE_gput - /currentcolor_intent()AGMCORE_gput - /customcolor_tint 1 AGMCORE_gput - /absolute_colorimetric_crd null AGMCORE_gput - /relative_colorimetric_crd null AGMCORE_gput - /saturation_crd null AGMCORE_gput - /perceptual_crd null AGMCORE_gput - currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf - cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf - << - /MaxPatternItem currentsystemparams/MaxPatternCache get - >> - setuserparams - end -}def -/ps -{ - /setcmykcolor where{ - pop - Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put - }if - Adobe_AGM_Core begin - /setcmykcolor - { - 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput - 1 sub 4 1 roll - 3{ - 3 index add neg dup 0 lt{ - pop 0 - }if - 3 1 roll - }repeat - setrgbcolor pop - }ndf - /currentcmykcolor - { - /currentcmykcolor AGMCORE_gget aload pop - }ndf - /setoverprint - {pop}ndf - /currentoverprint - {false}ndf - /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def - /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def - /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def - /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def - /AGMCORE_plate_ndx - AGMCORE_cyan_plate{ - 0 - }{ - AGMCORE_magenta_plate{ - 1 - }{ - AGMCORE_yellow_plate{ - 2 - }{ - AGMCORE_black_plate{ - 3 - }{ - 4 - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_have_reported_unsupported_color_space false def - /AGMCORE_report_unsupported_color_space - { - AGMCORE_have_reported_unsupported_color_space false eq - { - (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== - Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf - }if - }def - /AGMCORE_composite_job - AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def - /AGMCORE_in_rip_sep - /AGMCORE_in_rip_sep where{ - pop AGMCORE_in_rip_sep - }{ - AGMCORE_distilling - { - false - }{ - userdict/Adobe_AGM_OnHost_Seps known{ - false - }{ - level2{ - currentpagedevice/Separations 2 copy known{ - get - }{ - pop pop false - }ifelse - }{ - false - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def - /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def - /AGM_preserve_spots - /AGM_preserve_spots where{ - pop AGM_preserve_spots - }{ - AGMCORE_distilling AGMCORE_producing_seps or - }ifelse - def - /AGM_is_distiller_preserving_spotimages - { - currentdistillerparams/PreserveOverprintSettings known - { - currentdistillerparams/PreserveOverprintSettings get - { - currentdistillerparams/ColorConversionStrategy known - { - currentdistillerparams/ColorConversionStrategy get - /sRGB ne - }{ - true - }ifelse - }{ - false - }ifelse - }{ - false - }ifelse - }def - /convert_spot_to_process where{pop}{ - /convert_spot_to_process - { - //Adobe_AGM_Core begin - dup map_alias{ - /Name get exch pop - }if - dup dup(None)eq exch(All)eq or - { - pop false - }{ - AGMCORE_host_sep - { - gsave - 1 0 0 0 setcmykcolor currentgray 1 exch sub - 0 1 0 0 setcmykcolor currentgray 1 exch sub - 0 0 1 0 setcmykcolor currentgray 1 exch sub - 0 0 0 1 setcmykcolor currentgray 1 exch sub - add add add 0 eq - { - pop false - }{ - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - }ifelse - grestore - }{ - AGMCORE_distilling - { - pop AGM_is_distiller_preserving_spotimages not - }{ - //Adobe_AGM_Core/AGMCORE_name xddf - false - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq - AGMUTIL_cpd/OverrideSeparations known and - { - AGMUTIL_cpd/OverrideSeparations get - { - /HqnSpots/ProcSet resourcestatus - { - pop pop pop true - }if - }if - }if - { - AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not - }{ - gsave - [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace - false - AGMUTIL_cpd/SeparationColorNames 2 copy known - { - get - {AGMCORE_name eq or}forall - not - }{ - pop pop pop true - }ifelse - grestore - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - }ifelse - /convert_to_process where{pop}{ - /convert_to_process - { - dup length 0 eq - { - pop false - }{ - AGMCORE_host_sep - { - dup true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process and}ifelse - } - forall - { - true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - (Black)eq or and - }forall - not - }{pop false}ifelse - }{ - false exch - { - /PhotoshopDuotoneList where{pop false}{true}ifelse - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process or}ifelse - } - { - convert_spot_to_process or - } - ifelse - } - forall - }ifelse - }ifelse - }def - }ifelse - /AGMCORE_avoid_L2_sep_space - version cvr 2012 lt - level2 and - AGMCORE_producing_seps not and - def - /AGMCORE_is_cmyk_sep - AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or - def - /AGM_avoid_0_cmyk where{ - pop AGM_avoid_0_cmyk - }{ - AGM_preserve_spots - userdict/Adobe_AGM_OnHost_Seps known - userdict/Adobe_AGM_InRip_Seps known or - not and - }ifelse - { - /setcmykcolor[ - { - 4 copy add add add 0 eq currentoverprint and{ - pop 0.0005 - }if - }/exec cvx - /AGMCORE_&setcmykcolor load dup type/operatortype ne{ - /exec cvx - }if - ]cvx def - }if - /AGMCORE_IsSeparationAProcessColor - { - dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or - }def - AGMCORE_host_sep{ - /setcolortransfer - { - AGMCORE_cyan_plate{ - pop pop pop - }{ - AGMCORE_magenta_plate{ - 4 3 roll pop pop pop - }{ - AGMCORE_yellow_plate{ - 4 2 roll pop pop pop - }{ - 4 1 roll pop pop pop - }ifelse - }ifelse - }ifelse - settransfer - } - def - /AGMCORE_get_ink_data - AGMCORE_cyan_plate{ - {pop pop pop} - }{ - AGMCORE_magenta_plate{ - {4 3 roll pop pop pop} - }{ - AGMCORE_yellow_plate{ - {4 2 roll pop pop pop} - }{ - {4 1 roll pop pop pop} - }ifelse - }ifelse - }ifelse - def - /AGMCORE_RemoveProcessColorNames - { - 1 dict begin - /filtername - { - dup/Cyan eq 1 index(Cyan)eq or - {pop(_cyan_)}if - dup/Magenta eq 1 index(Magenta)eq or - {pop(_magenta_)}if - dup/Yellow eq 1 index(Yellow)eq or - {pop(_yellow_)}if - dup/Black eq 1 index(Black)eq or - {pop(_black_)}if - }def - dup type/arraytype eq - {[exch{filtername}forall]} - {filtername}ifelse - end - }def - level3{ - /AGMCORE_IsCurrentColor - { - dup AGMCORE_IsSeparationAProcessColor - { - AGMCORE_plate_ndx 0 eq - {dup(Cyan)eq exch/Cyan eq or}if - AGMCORE_plate_ndx 1 eq - {dup(Magenta)eq exch/Magenta eq or}if - AGMCORE_plate_ndx 2 eq - {dup(Yellow)eq exch/Yellow eq or}if - AGMCORE_plate_ndx 3 eq - {dup(Black)eq exch/Black eq or}if - AGMCORE_plate_ndx 4 eq - {pop false}if - }{ - gsave - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - grestore - }ifelse - }def - /AGMCORE_filter_functiondatasource - { - 5 dict begin - /data_in xdf - data_in type/stringtype eq - { - /ncomp xdf - /comp xdf - /string_out data_in length ncomp idiv string def - 0 ncomp data_in length 1 sub - { - string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put - }for - string_out - }{ - string/string_in xdf - /string_out 1 string def - /component xdf - [ - data_in string_in/readstring cvx - [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx - [/pop cvx()]cvx/ifelse cvx - ]cvx/ReusableStreamDecode filter - }ifelse - end - }def - /AGMCORE_separateShadingFunction - { - 2 dict begin - /paint? xdf - /channel xdf - dup type/dicttype eq - { - begin - FunctionType 0 eq - { - /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def - currentdict/Decode known - {/Decode Decode channel 2 mul 2 getinterval def}if - paint? not - {/Decode[1 1]def}if - }if - FunctionType 2 eq - { - paint? - { - /C0[C0 channel get 1 exch sub]def - /C1[C1 channel get 1 exch sub]def - }{ - /C0[1]def - /C1[1]def - }ifelse - }if - FunctionType 3 eq - { - /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def - }if - currentdict/Range known - {/Range[0 1]def}if - currentdict - end}{ - channel get 0 paint? AGMCORE_separateShadingFunction - }ifelse - end - }def - /AGMCORE_separateShading - { - 3 -1 roll begin - currentdict/Function known - { - currentdict/Background known - {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if - Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf - /ColorSpace[/DeviceGray]def - }{ - ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }{ - ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put - }ifelse - ColorSpace 0 get/Separation eq - { - { - [1/exch cvx/sub cvx]cvx - }{ - [/pop cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll put - pop - }{ - { - [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx - }{ - pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll bind put - }ifelse - ColorSpace 2/DeviceGray put - }ifelse - end - }def - /AGMCORE_separateShadingDict - { - dup/ColorSpace get - dup type/arraytype ne - {[exch]}if - dup 0 get/DeviceCMYK eq - { - exch begin - currentdict - AGMCORE_cyan_plate - {0 true}if - AGMCORE_magenta_plate - {1 true}if - AGMCORE_yellow_plate - {2 true}if - AGMCORE_black_plate - {3 true}if - AGMCORE_plate_ndx 4 eq - {0 false}if - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - currentdict - end exch - }if - dup 0 get/Separation eq - { - exch begin - ColorSpace 1 get dup/None ne exch/All ne and - { - ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /Separation - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - }if - }ifelse - }{ - currentdict ColorSpace 1 get AGMCORE_IsCurrentColor - 0 exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - }if - currentdict - end exch - }if - dup 0 get/DeviceN eq - { - exch begin - ColorSpace 1 get convert_to_process - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /DeviceN - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - /ColorSpace[/DeviceGray]def - }if - }ifelse - }{ - currentdict - false -1 ColorSpace 1 get - { - AGMCORE_IsCurrentColor - { - 1 add - exch pop true exch exit - }if - 1 add - }forall - exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - currentdict - end exch - }if - dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not - { - exch begin - ColorSpace dup type/arraytype eq - {0 get}if - /DeviceGray ne - { - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - ColorSpace 0 get/CIEBasedA eq - { - /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def - }if - ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or - { - /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def - }if - ColorSpace 0 get/CIEBasedDEFG eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }if - currentdict 0 false AGMCORE_separateShading - }if - }if - currentdict - end exch - }if - pop - dup/AGMCORE_ignoreshade known - { - begin - /ColorSpace[/Separation(None)/DeviceGray{}]def - currentdict end - }if - }def - /shfill - { - AGMCORE_separateShadingDict - dup/AGMCORE_ignoreshade known - {pop} - {AGMCORE_&sysshfill}ifelse - }def - /makepattern - { - exch - dup/PatternType get 2 eq - { - clonedict - begin - /Shading Shading AGMCORE_separateShadingDict def - Shading/AGMCORE_ignoreshade known - currentdict end exch - {pop<>}if - exch AGMCORE_&sysmakepattern - }{ - exch AGMCORE_&usrmakepattern - }ifelse - }def - }if - }if - AGMCORE_in_rip_sep{ - /setcustomcolor - { - exch aload pop - dup 7 1 roll inRip_spot_has_ink not { - 4{4 index mul 4 1 roll} - repeat - /DeviceCMYK setcolorspace - 6 -2 roll pop pop - }{ - //Adobe_AGM_Core begin - /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf - end - [/Separation 4 -1 roll/DeviceCMYK - {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} - ] - setcolorspace - }ifelse - setcolor - }ndf - /setseparationgray - { - [/Separation(All)/DeviceGray{}]setcolorspace_opt - 1 exch sub setcolor - }ndf - }{ - /setseparationgray - { - AGMCORE_&setgray - }ndf - }ifelse - /findcmykcustomcolor - { - 5 makereadonlyarray - }ndf - /setcustomcolor - { - exch aload pop pop - 4{4 index mul 4 1 roll}repeat - setcmykcolor pop - }ndf - /has_color - /colorimage where{ - AGMCORE_producing_seps{ - pop true - }{ - systemdict eq - }ifelse - }{ - false - }ifelse - def - /map_index - { - 1 index mul exch getinterval{255 div}forall - }bdf - /map_indexed_devn - { - Lookup Names length 3 -1 roll cvi map_index - }bdf - /n_color_components - { - base_colorspace_type - dup/DeviceGray eq{ - pop 1 - }{ - /DeviceCMYK eq{ - 4 - }{ - 3 - }ifelse - }ifelse - }bdf - level2{ - /mo/moveto ldf - /li/lineto ldf - /cv/curveto ldf - /knockout_unitsq - { - 1 setgray - 0 0 1 1 rectfill - }def - level2/setcolorspace AGMCORE_key_known not and{ - /AGMCORE_&&&setcolorspace/setcolorspace ldf - /AGMCORE_ReplaceMappedColor - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - /AGMCORE_SpotAliasAry2 where{ - begin - dup 0 get dup/Separation eq - { - pop - dup length array copy - dup dup 1 get - current_spot_alias - { - dup map_alias - { - false set_spot_alias - dup 1 exch setsepcolorspace - true set_spot_alias - begin - /sep_colorspace_dict currentdict AGMCORE_gput - pop pop pop - [ - /Separation Name - CSA map_csa - MappedCSA - /sep_colorspace_proc load - ] - dup Name - end - }if - }if - map_reserved_ink_name 1 xpt - }{ - /DeviceN eq - { - dup length array copy - dup dup 1 get[ - exch{ - current_spot_alias{ - dup map_alias{ - /Name get exch pop - }if - }if - map_reserved_ink_name - }forall - ]1 xpt - }if - }ifelse - end - }if - }if - }def - /setcolorspace - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/Indexed eq - { - AGMCORE_distilling - { - /PhotoshopDuotoneList where - { - pop false - }{ - true - }ifelse - }{ - true - }ifelse - { - aload pop 3 -1 roll - AGMCORE_ReplaceMappedColor - 3 1 roll 4 array astore - }if - }{ - AGMCORE_ReplaceMappedColor - }ifelse - }if - DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if - }def - }if - }{ - /adj - { - currentstrokeadjust{ - transform - 0.25 sub round 0.25 add exch - 0.25 sub round 0.25 add exch - itransform - }if - }def - /mo{ - adj moveto - }def - /li{ - adj lineto - }def - /cv{ - 6 2 roll adj - 6 2 roll adj - 6 2 roll adj curveto - }def - /knockout_unitsq - { - 1 setgray - 8 8 1[8 0 0 8 0 0]{}image - }def - /currentstrokeadjust{ - /currentstrokeadjust AGMCORE_gget - }def - /setstrokeadjust{ - /currentstrokeadjust exch AGMCORE_gput - }def - /setcolorspace - { - /currentcolorspace exch AGMCORE_gput - }def - /currentcolorspace - { - /currentcolorspace AGMCORE_gget - }def - /setcolor_devicecolor - { - base_colorspace_type - dup/DeviceGray eq{ - pop setgray - }{ - /DeviceCMYK eq{ - setcmykcolor - }{ - setrgbcolor - }ifelse - }ifelse - }def - /setcolor - { - currentcolorspace 0 get - dup/DeviceGray ne{ - dup/DeviceCMYK ne{ - dup/DeviceRGB ne{ - dup/Separation eq{ - pop - currentcolorspace 3 gx - currentcolorspace 2 get - }{ - dup/Indexed eq{ - pop - currentcolorspace 3 get dup type/stringtype eq{ - currentcolorspace 1 get n_color_components - 3 -1 roll map_index - }{ - exec - }ifelse - currentcolorspace 1 get - }{ - /AGMCORE_cur_err/AGMCORE_invalid_color_space def - AGMCORE_invalid_color_space - }ifelse - }ifelse - }if - }if - }if - setcolor_devicecolor - }def - }ifelse - /sop/setoverprint ldf - /lw/setlinewidth ldf - /lc/setlinecap ldf - /lj/setlinejoin ldf - /ml/setmiterlimit ldf - /dsh/setdash ldf - /sadj/setstrokeadjust ldf - /gry/setgray ldf - /rgb/setrgbcolor ldf - /cmyk[ - /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx - /setcmykcolor load dup type/operatortype ne{/exec cvx}if - ]cvx bdf - level3{ - /nzopmsc{ - 6 dict begin - /kk exch def - /yy exch def - /mm exch def - /cc exch def - /sum 0 def - cc 0 ne{/sum sum 2#1000 or def cc}if - mm 0 ne{/sum sum 2#0100 or def mm}if - yy 0 ne{/sum sum 2#0010 or def yy}if - kk 0 ne{/sum sum 2#0001 or def kk}if - AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace - sum 0 eq{0}if - end - setcolor - }bdf - }{ - /nzopmsc/cmyk ldf - }ifelse - /sep/setsepcolor ldf - /devn/setdevicencolor ldf - /idx/setindexedcolor ldf - /colr/setcolor ldf - /csacrd/set_csa_crd ldf - /sepcs/setsepcolorspace ldf - /devncs/setdevicencolorspace ldf - /idxcs/setindexedcolorspace ldf - /cp/closepath ldf - /clp/clp_npth ldf - /eclp/eoclp_npth ldf - /f/fill ldf - /ef/eofill ldf - /@/stroke ldf - /nclp/npth_clp ldf - /gset/graphic_setup ldf - /gcln/graphic_cleanup ldf - /ct/concat ldf - /cf/currentfile ldf - /fl/filter ldf - /rs/readstring ldf - /AGMCORE_def_ht currenthalftone def - /clonedict Adobe_AGM_Utils begin/clonedict load end def - /clonearray Adobe_AGM_Utils begin/clonearray load end def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall - /getrampcolor - { - /indx exch def - 0 1 NumComp 1 sub - { - dup - Samples exch get - dup type/stringtype eq{indx get}if - exch - Scaling exch get aload pop - 3 1 roll - mul add - }for - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /sssetbackground{aload pop setcolor}bdf - /RadialShade - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /r2 xdf - /c2y xdf - /c2x xdf - /r1 xdf - /c1y xdf - /c1x xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - c1x c2x eq - { - c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope c2y c1y sub c2x c1x sub div def - /theta slope 1 atan def - c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if - c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if - }ifelse - gsave - clippath - c1x c1y translate - theta rotate - -90 rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax xdf - /xMax xdf - /yMin xdf - /xMin xdf - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - /max{2 copy gt{pop}{exch pop}ifelse}bdf - /min{2 copy lt{pop}{exch pop}ifelse}bdf - rampdict begin - 40 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - c1x c1y translate - theta rotate - -90 rotate - /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def - /c1y 0 def - /c1x 0 def - /c2x 0 def - ext0 - { - 0 getrampcolor - c2y r2 add r1 sub 0.0001 lt - { - c1x c1y r1 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2y r1 add r2 le - { - c1x c1y r1 0 360 arc - fill - } - { - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r1 neg def - /p1y c1y def - /p2x r1 def - /p2y c1y def - p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y p1x SS1 div neg def - /SS2 90 theta sub dup sin exch cos div def - /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y p2x SS2 div neg def - r1 r2 gt - { - /L1maxX p1x yMin p1y sub SS1 div add def - /L2maxX p2x yMin p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - c1x c2x sub dup mul - c1y c2y sub dup mul - add 0.5 exp - 0 dtransform - dup mul exch dup mul add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - /hires xdf - hires mul - /numpix xdf - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - /xInc c2x c1x sub numsteps div def - /yInc c2y c1y sub numsteps div def - /rInc r2 r1 sub numsteps div def - /cx c1x def - /cy c1y def - /radius r1 def - np - xInc 0 eq yInc 0 eq rInc 0 eq and and - { - 0 getrampcolor - cx cy radius 0 360 arc - stroke - NumSamples 1 sub getrampcolor - cx cy radius 72 hires div add 0 360 arc - 0 setlinewidth - stroke - }{ - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - cx cy radius 0 360 arc - /cx cx xInc add def - /cy cy yInc add def - /radius radius rInc add def - cx cy radius 360 0 arcn - eofill - rampIndxInc add - }repeat - pop - }ifelse - ext1 - { - c2y r2 add r1 lt - { - c2x c2y r2 0 360 arc - fill - }{ - c2y r1 add r2 sub 0.0001 le - { - c2x c2y r2 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r2 neg def - /p1y c2y def - /p2x r2 def - /p2y c2y def - p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y c2y p1x SS1 div sub def - /SS2 90 theta sub dup sin exch cos div def - /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y c2y p2x SS2 div sub def - r1 r2 lt - { - /L1maxX p1x yMax p1y sub SS1 div add def - /L2maxX p2x yMax p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - grestore - grestore - end - end - end - }ifelse - }bdf - /GenStrips - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /y2 xdf - /x2 xdf - /y1 xdf - /x1 xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - x1 x2 eq - { - y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope y2 y1 sub x2 x1 sub div def - /theta slope 1 atan def - x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if - x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if - } - ifelse - gsave - clippath - x1 y1 translate - theta rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax exch def - /xMax exch def - /yMin exch def - /xMin exch def - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - rampdict begin - 20 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - x1 y1 translate - theta rotate - /xStart 0 def - /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def - /ySpan yMax yMin sub def - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - xStart 0 transform - xEnd 0 transform - 3 -1 roll - sub dup mul - 3 1 roll - sub dup mul - add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - mul - /numpix xdf - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - ext0 - { - 0 getrampcolor - xMin xStart lt - { - xMin yMin xMin neg ySpan rectfill - }if - }if - /xInc xEnd xStart sub numsteps div def - /x xStart def - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - x yMin xInc ySpan rectfill - /x x xInc add def - rampIndxInc add - }repeat - pop - ext1{ - xMax xEnd gt - { - xEnd yMin xMax xEnd sub ySpan rectfill - }if - }if - grestore - grestore - end - end - end - }ifelse - }bdf -}def -/pt -{ - end -}def -/dt{ -}def -/pgsv{ - //Adobe_AGM_Core/AGMCORE_save save put -}def -/pgrs{ - //Adobe_AGM_Core/AGMCORE_save get restore -}def -systemdict/findcolorrendering known{ - /findcolorrendering systemdict/findcolorrendering get def -}if -systemdict/setcolorrendering known{ - /setcolorrendering systemdict/setcolorrendering get def -}if -/test_cmyk_color_plate -{ - gsave - setcmykcolor currentgray 1 ne - grestore -}def -/inRip_spot_has_ink -{ - dup//Adobe_AGM_Core/AGMCORE_name xddf - convert_spot_to_process not -}def -/map255_to_range -{ - 1 index sub - 3 -1 roll 255 div mul add -}def -/set_csa_crd -{ - /sep_colorspace_dict null AGMCORE_gput - begin - CSA get_csa_by_name setcolorspace_opt - set_crd - end -} -def -/map_csa -{ - currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse - {pop}{get_csa_by_name/MappedCSA xdf}ifelse -}def -/setsepcolor -{ - /sep_colorspace_dict AGMCORE_gget begin - dup/sep_tint exch AGMCORE_gput - TintProc - end -}def -/setdevicencolor -{ - /devicen_colorspace_dict AGMCORE_gget begin - Names length copy - Names length 1 sub -1 0 - { - /devicen_tints AGMCORE_gget 3 1 roll xpt - }for - TintProc - end -}def -/sep_colorspace_proc -{ - /AGMCORE_tmp exch store - /sep_colorspace_dict AGMCORE_gget begin - currentdict/Components known{ - Components aload pop - TintMethod/Lab eq{ - 2{AGMCORE_tmp mul NComponents 1 roll}repeat - LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll - }{ - TintMethod/Subtractive eq{ - NComponents{ - AGMCORE_tmp mul NComponents 1 roll - }repeat - }{ - NComponents{ - 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll - }repeat - }ifelse - }ifelse - }{ - ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get - aload pop - }ifelse - end -}def -/sep_colorspace_gray_proc -{ - /AGMCORE_tmp exch store - /sep_colorspace_dict AGMCORE_gget begin - GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get - end -}def -/sep_proc_name -{ - dup 0 get - dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ - pop[/DeviceGray] - /sep_colorspace_gray_proc - }{ - /sep_colorspace_proc - }ifelse -}def -/setsepcolorspace -{ - current_spot_alias{ - dup begin - Name map_alias{ - exch pop - }if - end - }if - dup/sep_colorspace_dict exch AGMCORE_gput - begin - CSA map_csa - /AGMCORE_sep_special Name dup()eq exch(All)eq or store - AGMCORE_avoid_L2_sep_space{ - [/Indexed MappedCSA sep_proc_name 255 exch - {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx - ]setcolorspace_opt - /TintProc{ - 255 mul round cvi setcolor - }bdf - }{ - MappedCSA 0 get/DeviceCMYK eq - currentdict/Components known and - AGMCORE_sep_special not and{ - /TintProc[ - Components aload pop Name findcmykcustomcolor - /exch cvx/setcustomcolor cvx - ]cvx bdf - }{ - AGMCORE_host_sep Name(All)eq and{ - /TintProc{ - 1 exch sub setseparationgray - }bdf - }{ - AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and - AGMCORE_host_sep or - Name()eq and{ - /TintProc[ - MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ - cvx/setcmykcolor cvx - }{ - cvx/setgray cvx - }ifelse - ]cvx bdf - }{ - AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ - /TintProc[ - /dup cvx - MappedCSA sep_proc_name cvx exch - 0 get/DeviceGray eq{ - 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx - }if - /Name cvx/findcmykcustomcolor cvx/exch cvx - AGMCORE_host_sep{ - AGMCORE_is_cmyk_sep - /Name cvx - /AGMCORE_IsSeparationAProcessColor load/exec cvx - /not cvx/and cvx - }{ - Name inRip_spot_has_ink not - }ifelse - [ - /pop cvx 1 - ]cvx/if cvx - /setcustomcolor cvx - ]cvx bdf - }{ - /TintProc{setcolor}bdf - [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - set_crd - setsepcolor - end -}def -/additive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 - 0 1 numarrays 1 sub - { - 1 exch add/index cvx - c1/get cvx/mul cvx - }for - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/subtractive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 1 - 0 1 numarrays 1 sub - { - 1 3 3 -1 roll add/index cvx - c1/get cvx/sub cvx/mul cvx - }for - /sub cvx - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/exec_tint_transform -{ - /TintProc[ - /TintTransform cvx/setcolor cvx - ]cvx bdf - MappedCSA setcolorspace_opt -}bdf -/devn_makecustomcolor -{ - 2 dict begin - /names_index xdf - /Names xdf - 1 1 1 1 Names names_index get findcmykcustomcolor - /devicen_tints AGMCORE_gget names_index get setcustomcolor - Names length{pop}repeat - end -}bdf -/setdevicencolorspace -{ - dup/AliasedColorants known{false}{true}ifelse - current_spot_alias and{ - 7 dict begin - /names_index 0 def - dup/names_len exch/Names get length def - /new_names names_len array def - /new_LookupTables names_len array def - /alias_cnt 0 def - dup/Names get - { - dup map_alias{ - exch pop - dup/ColorLookup known{ - dup begin - new_LookupTables names_index ColorLookup put - end - }{ - dup/Components known{ - dup begin - new_LookupTables names_index Components put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - new_names names_index 3 -1 roll/Name get put - /alias_cnt alias_cnt 1 add def - }{ - /name xdf - new_names names_index name put - dup/LookupTables known{ - dup begin - new_LookupTables names_index LookupTables names_index get put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - /names_index names_index 1 add def - }forall - alias_cnt 0 gt{ - /AliasedColorants true def - /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def - 0 1 names_len 1 sub{ - /names_index xdf - new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ - /AliasedColorants false def - exit - }{ - new_LookupTables names_index get 0 get null eq{ - dup/Names get names_index get/name xdf - name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq - or or or not{ - /AliasedColorants false def - exit - }if - }if - }ifelse - }for - lut_entry_len 1 eq{ - /AliasedColorants false def - }if - AliasedColorants{ - dup begin - /Names new_names def - /LookupTables new_LookupTables def - /AliasedColorants true def - /NComponents lut_entry_len def - /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def - /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def - currentdict/TTTablesIdx known not{ - /TTTablesIdx -1 def - }if - end - }if - }if - end - }if - dup/devicen_colorspace_dict exch AGMCORE_gput - begin - currentdict/AliasedColorants known{ - AliasedColorants - }{ - false - }ifelse - dup not{ - CSA map_csa - }if - /TintTransform load type/nulltype eq or{ - /TintTransform[ - 0 1 Names length 1 sub - { - /TTTablesIdx TTTablesIdx 1 add def - dup LookupTables exch get dup 0 get null eq - { - 1 index - Names exch get - dup(Cyan)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0 0 0 - } - { - dup(Magenta)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0/exch cvx 0 0 - }{ - (Yellow)eq - { - exch - LookupTables length exch sub - /index cvx - 0 0 3 -1/roll cvx 0 - }{ - exch - LookupTables length exch sub - /index cvx - 0 0 0 4 -1/roll cvx - }ifelse - }ifelse - }ifelse - 5 -1/roll cvx/astore cvx - }{ - dup length 1 sub - LookupTables length 4 -1 roll sub 1 add - /index cvx/mul cvx/round cvx/cvi cvx/get cvx - }ifelse - Names length TTTablesIdx add 1 add 1/roll cvx - }for - Names length[/pop cvx]cvx/repeat cvx - NComponents Names length - TintMethod/Subtractive eq - { - subtractive_blend - }{ - additive_blend - }ifelse - ]cvx bdf - }if - AGMCORE_host_sep{ - Names convert_to_process{ - exec_tint_transform - } - { - currentdict/AliasedColorants known{ - AliasedColorants not - }{ - false - }ifelse - 5 dict begin - /AvoidAliasedColorants xdf - /painted? false def - /names_index 0 def - /names_len Names length def - AvoidAliasedColorants{ - /currentspotalias current_spot_alias def - false set_spot_alias - }if - Names{ - AGMCORE_is_cmyk_sep{ - dup(Cyan)eq AGMCORE_cyan_plate and exch - dup(Magenta)eq AGMCORE_magenta_plate and exch - dup(Yellow)eq AGMCORE_yellow_plate and exch - (Black)eq AGMCORE_black_plate and or or or{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - }if - painted?{exit}if - }{ - 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - exit - }if - }ifelse - /names_index names_index 1 add def - }forall - AvoidAliasedColorants{ - currentspotalias set_spot_alias - }if - painted?{ - /devicen_colorspace_dict AGMCORE_gget/names_index names_index put - }{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx - 0 0 0 0/setcmykcolor cvx - ]cvx ddf - }ifelse - end - }ifelse - } - { - AGMCORE_in_rip_sep{ - Names convert_to_process not - }{ - level3 - }ifelse - { - [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt - /TintProc level3 not AGMCORE_in_rip_sep and{ - [ - Names/length cvx[/pop cvx]cvx/repeat cvx - ]cvx bdf - }{ - {setcolor}bdf - }ifelse - }{ - exec_tint_transform - }ifelse - }ifelse - set_crd - /AliasedColorants false def - end -}def -/setindexedcolorspace -{ - dup/indexed_colorspace_dict exch AGMCORE_gput - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - currentdict devncs - }{ - 1 currentdict sepcs - }ifelse - AGMCORE_host_sep{ - 4 dict begin - /compCnt/Names where{pop Names length}{1}ifelse def - /NewLookup HiVal 1 add string def - 0 1 HiVal{ - /tableIndex xdf - Lookup dup type/stringtype eq{ - compCnt tableIndex map_index - }{ - exec - }ifelse - /Names where{ - pop setdevicencolor - }{ - setsepcolor - }ifelse - currentgray - tableIndex exch - 255 mul cvi - NewLookup 3 1 roll put - }for - [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt - end - }{ - level3 - { - currentdict/Names known{ - [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt - }{ - [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt - }ifelse - }{ - [/Indexed MappedCSA HiVal - [ - currentdict/Names known{ - Lookup dup type/stringtype eq - {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} - {/exec cvx}ifelse - /TintTransform load/exec cvx - }{ - Lookup dup type/stringtype eq - {/exch cvx/get cvx 255/div cvx} - {/exec cvx}ifelse - CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx - }ifelse - ]cvx - ]setcolorspace_opt - }ifelse - }ifelse - end - set_crd - } - { - CSA map_csa - AGMCORE_host_sep level2 not and{ - 0 0 0 0 setcmykcolor - }{ - [/Indexed MappedCSA - level2 not has_color not and{ - dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ - pop[/DeviceGray] - }if - HiVal GrayLookup - }{ - HiVal - currentdict/RangeArray known{ - { - /indexed_colorspace_dict AGMCORE_gget begin - Lookup exch - dup HiVal gt{ - pop HiVal - }if - NComponents mul NComponents getinterval{}forall - NComponents 1 sub -1 0{ - RangeArray exch 2 mul 2 getinterval aload pop map255_to_range - NComponents 1 roll - }for - end - }bind - }{ - Lookup - }ifelse - }ifelse - ]setcolorspace_opt - set_crd - }ifelse - }ifelse - end -}def -/setindexedcolor -{ - AGMCORE_host_sep{ - /indexed_colorspace_dict AGMCORE_gget - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - map_indexed_devn - devn - } - { - Lookup 1 3 -1 roll map_index - sep - }ifelse - end - }{ - Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll - map_index - MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse - }ifelse - end - }{ - level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ - /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin - map_indexed_devn - devn - end - } - { - setcolor - }ifelse - }ifelse -}def -/ignoreimagedata -{ - currentoverprint not{ - gsave - dup clonedict begin - 1 setgray - /Decode[0 1]def - /DataSourcedef - /MultipleDataSources false def - /BitsPerComponent 8 def - currentdict end - systemdict/image gx - grestore - }if - consumeimagedata -}def -/add_res -{ - dup/CSD eq{ - pop - //Adobe_AGM_Core begin - /AGMCORE_CSD_cache load 3 1 roll put - end - }{ - defineresource pop - }ifelse -}def -/del_res -{ - { - aload pop exch - dup/CSD eq{ - pop - {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall - }{ - exch - {1 index undefineresource}forall - pop - }ifelse - }forall -}def -/get_res -{ - dup/CSD eq{ - pop - dup type dup/nametype eq exch/stringtype eq or{ - AGMCORE_CSD_cache exch get - }if - }{ - findresource - }ifelse -}def -/get_csa_by_name -{ - dup type dup/nametype eq exch/stringtype eq or{ - /CSA get_res - }if -}def -/paintproc_buf_init -{ - /count get 0 0 put -}def -/paintproc_buf_next -{ - dup/count get dup 0 get - dup 3 1 roll - 1 add 0 xpt - get -}def -/cachepaintproc_compress -{ - 5 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - /string_size 16000 def - /readbuffer string_size string def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - /LZWFilter - { - exch - dup length 0 eq{ - pop - }{ - ppdict dup length 1 sub 3 -1 roll put - }ifelse - {string_size}{0}ifelse string - }/LZWEncode filter def - { - ReadFilter readbuffer readstring - exch LZWFilter exch writestring - not{exit}if - }loop - LZWFilter closefile - ppdict - end -}def -/cachepaintproc -{ - 2 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - { - ReadFilter 16000 string readstring exch - ppdict dup length 1 sub 3 -1 roll put - not{exit}if - }loop - ppdict dup dup length 1 sub()put - end -}def -/make_pattern -{ - exch clonedict exch - dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform - exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub - exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub - matrix translate exch matrix concatmatrix - 1 index begin - BBox 0 get XStep div cvi XStep mul/xshift exch neg def - BBox 1 get YStep div cvi YStep mul/yshift exch neg def - BBox 0 get xshift add - BBox 1 get yshift add - BBox 2 get xshift add - BBox 3 get yshift add - 4 array astore - /BBox exch def - [xshift yshift/translate load null/exec load]dup - 3/PaintProc load put cvx/PaintProc exch def - end - 1 index dup/ID get exch/Pattern add_res - gsave 0 setgray - makepattern - grestore -}def -/set_pattern -{ - dup/PatternType get 1 eq{ - dup/PaintType get 1 eq{ - currentoverprint sop[/DeviceGray]setcolorspace 0 setgray - }if - }if - setpattern -}def -/setcolorspace_opt -{ - dup currentcolorspace eq{pop}{setcolorspace}ifelse -}def -/updatecolorrendering -{ - currentcolorrendering/RenderingIntent known{ - currentcolorrendering/RenderingIntent get - } - { - Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/Saturation eq - { - /saturation_crd AGMCORE_gget dup null eq - } - { - /perceptual_crd AGMCORE_gget dup null eq - }ifelse - }ifelse - }ifelse - { - pop null - } - { - /RenderingIntent known{null}{Intent}ifelse - }ifelse - }ifelse - Intent ne{ - Intent/ColorRendering{findresource}stopped - { - pop pop systemdict/findcolorrendering known - { - Intent findcolorrendering - { - /ColorRendering findresource true exch - } - { - /ColorRendering findresource - product(Xerox Phaser 5400)ne - exch - }ifelse - dup Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd exch AGMCORE_gput - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd exch AGMCORE_gput - } - { - Intent/Saturation eq - { - /saturation_crd exch AGMCORE_gput - } - { - Intent/Perceptual eq - { - /perceptual_crd exch AGMCORE_gput - } - { - pop - }ifelse - }ifelse - }ifelse - }ifelse - 1 index{exch}{pop}ifelse - } - {false}ifelse - } - {true}ifelse - { - dup begin - currentdict/TransformPQR known{ - currentdict/TransformPQR get aload pop - 3{{}eq 3 1 roll}repeat or or - } - {true}ifelse - currentdict/MatrixPQR known{ - currentdict/MatrixPQR get aload pop - 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq - and and and and and and and and - } - {true}ifelse - end - or - { - clonedict begin - /TransformPQR[ - {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div - 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind - {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div - 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind - {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div - 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind - ]def - /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def - /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def - currentdict end - }if - setcolorrendering_opt - }if - }if -}def -/set_crd -{ - AGMCORE_host_sep not level2 and{ - currentdict/ColorRendering known{ - ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if - }{ - currentdict/Intent known{ - updatecolorrendering - }if - }ifelse - currentcolorspace dup type/arraytype eq - {0 get}if - /DeviceRGB eq - { - currentdict/UCR known - {/UCR}{/AGMCORE_currentucr}ifelse - load setundercolorremoval - currentdict/BG known - {/BG}{/AGMCORE_currentbg}ifelse - load setblackgeneration - }if - }if -}def -/set_ucrbg -{ - dup null eq{pop/AGMCORE_currentbg load}{/Procedure get_res}ifelse setblackgeneration - dup null eq{pop/AGMCORE_currentucr load}{/Procedure get_res}ifelse setundercolorremoval -}def -/setcolorrendering_opt -{ - dup currentcolorrendering eq{ - pop - }{ - clonedict - begin - /Intent Intent def - currentdict - end - setcolorrendering - }ifelse -}def -/cpaint_gcomp -{ - convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf - //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not - { - (%end_cpaint_gcomp)flushinput - }if -}def -/cpaint_gsep -{ - //Adobe_AGM_Core/AGMCORE_ConvertToProcess get - { - (%end_cpaint_gsep)flushinput - }if -}def -/cpaint_gend -{np}def -/T1_path -{ - currentfile token pop currentfile token pop mo - { - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 exch rlineto - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 rlineto - }loop -}def -/T1_gsave - level3 - {/clipsave} - {/gsave}ifelse - load def -/T1_grestore - level3 - {/cliprestore} - {/grestore}ifelse - load def -/set_spot_alias_ary -{ - dup inherit_aliases - //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf -}def -/set_spot_normalization_ary -{ - dup inherit_aliases - dup length - /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if - array - //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf - /AGMCORE_SpotAliasAry where{ - pop - AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval - AGMCORE_SpotAliasAry length - }{0}ifelse - AGMCORE_SpotAliasAry2 3 1 roll exch putinterval - true set_spot_alias -}def -/inherit_aliases -{ - {dup/Name get map_alias{/CSD put}{pop}ifelse}forall -}def -/set_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias 3 -1 roll put - }{ - pop - }ifelse -}def -/current_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias get - }{ - false - }ifelse -}def -/map_alias -{ - /AGMCORE_SpotAliasAry2 where{ - begin - /AGMCORE_name xdf - false - AGMCORE_SpotAliasAry2{ - dup/Name get AGMCORE_name eq{ - /CSD get/CSD get_res - exch pop true - exit - }{ - pop - }ifelse - }forall - end - }{ - pop false - }ifelse -}bdf -/spot_alias -{ - true set_spot_alias - /AGMCORE_&setcustomcolor AGMCORE_key_known not{ - //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put - }if - /customcolor_tint 1 AGMCORE_gput - //Adobe_AGM_Core begin - /setcustomcolor - { - //Adobe_AGM_Core begin - dup/customcolor_tint exch AGMCORE_gput - 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not - current_spot_alias and{1 index 4 get map_alias}{false}ifelse - { - false set_spot_alias - /sep_colorspace_dict AGMCORE_gget null ne{ - exch pop/sep_tint AGMCORE_gget exch - }if - mark 3 1 roll - setsepcolorspace - counttomark 0 ne{ - setsepcolor - }if - pop - pop - true set_spot_alias - }{ - AGMCORE_&setcustomcolor - }ifelse - end - }bdf - end -}def -/begin_feature -{ - Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put - count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put - {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if -}def -/end_feature -{ - 2 dict begin - /spd/setpagedevice load def - /setpagedevice{get_gstate spd set_gstate}def - stopped{$error/newerror false put}if - end - count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse - countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse - {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if -}def -/set_negative -{ - //Adobe_AGM_Core begin - /AGMCORE_inverting exch def - level2{ - currentpagedevice/NegativePrint known AGMCORE_distilling not and{ - currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ - true begin_feature true{ - <>setpagedevice - }end_feature - }if - /AGMCORE_inverting false def - }if - }if - AGMCORE_inverting{ - [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer - AGMCORE_distilling{ - erasepage - }{ - gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse - /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore - }ifelse - }if - end -}def -/lw_save_restore_override{ - /md where{ - pop - md begin - initializepage - /initializepage{}def - /pmSVsetup{}def - /endp{}def - /pse{}def - /psb{}def - /orig_showpage where - {pop} - {/orig_showpage/showpage load def} - ifelse - /showpage{orig_showpage gR}def - end - }if -}def -/pscript_showpage_override{ - /NTPSOct95 where - { - begin - showpage - save - /showpage/restore load def - /restore{exch pop}def - end - }if -}def -/driver_media_override -{ - /md where{ - pop - md/initializepage known{ - md/initializepage{}put - }if - md/rC known{ - md/rC{4{pop}repeat}put - }if - }if - /mysetup where{ - /mysetup[1 0 0 1 0 0]put - }if - Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put - level2 - {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if -}def -/driver_check_media_override -{ - /PrepsDict where - {pop} - { - Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne - Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and - Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and - }if - { - Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix - }if - }ifelse -}def -AGMCORE_err_strings begin - /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def - /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def - /AGMCORE_invalid_color_space(This job contains an invalid color space. )def -end -/set_def_ht -{AGMCORE_def_ht sethalftone}def -/set_def_flat -{AGMCORE_Default_flatness setflat}def -end -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_CoolType_Core 2.30 0 -%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. -%%Version: 2.30 0 -10 dict begin -/Adobe_CoolType_Passthru currentdict def -/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def -Adobe_CoolType_Core_Defined - {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} -if -userdict/Adobe_CoolType_Core 70 dict dup begin put -/Adobe_CoolType_Version 2.30 def -/Level2? - systemdict/languagelevel known dup - {pop systemdict/languagelevel get 2 ge} - if def -Level2? not - { - /currentglobal false def - /setglobal/pop load def - /gcheck{pop false}bind def - /currentpacking false def - /setpacking/pop load def - /SharedFontDirectory 0 dict def - } -if -currentpacking -true setpacking -currentglobal false setglobal -userdict/Adobe_CoolType_Data 2 copy known not - {2 copy 10 dict put} -if -get - begin - /@opStackCountByLevel 32 dict def - /@opStackLevel 0 def - /@dictStackCountByLevel 32 dict def - /@dictStackLevel 0 def - end -setglobal -currentglobal true setglobal -userdict/Adobe_CoolType_GVMFonts known not - {userdict/Adobe_CoolType_GVMFonts 10 dict put} -if -setglobal -currentglobal false setglobal -userdict/Adobe_CoolType_LVMFonts known not - {userdict/Adobe_CoolType_LVMFonts 10 dict put} -if -setglobal -/ct_VMDictPut - { - dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse - 3 1 roll put - }bind def -/ct_VMDictUndef - { - dup Adobe_CoolType_GVMFonts exch known - {Adobe_CoolType_GVMFonts exch undef} - { - dup Adobe_CoolType_LVMFonts exch known - {Adobe_CoolType_LVMFonts exch undef} - {pop} - ifelse - }ifelse - }bind def -/ct_str1 1 string def -/ct_xshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - _ct_x _ct_y moveto - 0 - rmoveto - } - ifelse - /_ct_i _ct_i 1 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/ct_yshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - _ct_x _ct_y moveto - 0 exch - rmoveto - } - ifelse - /_ct_i _ct_i 1 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/ct_xyshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - {_ct_na _ct_i 1 add get}stopped - {pop pop pop} - { - _ct_x _ct_y moveto - rmoveto - } - ifelse - } - ifelse - /_ct_i _ct_i 2 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def -/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def -/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def -currentglobal true setglobal -/ct_T3Defs -{ -/BuildChar -{ - 1 index/Encoding get exch get - 1 index/BuildGlyph get exec -}bind def -/BuildGlyph -{ - exch begin - GlyphProcs exch get exec - end -}bind def -}bind def -setglobal -/@_SaveStackLevels - { - Adobe_CoolType_Data - begin - /@vmState currentglobal def false setglobal - @opStackCountByLevel - @opStackLevel - 2 copy known not - { - 2 copy - 3 dict dup/args - 7 index - 5 add array put - put get - } - { - get dup/args get dup length 3 index lt - { - dup length 5 add array exch - 1 index exch 0 exch putinterval - 1 index exch/args exch put - } - {pop} - ifelse - } - ifelse - begin - count 1 sub - 1 index lt - {pop count} - if - dup/argCount exch def - dup 0 gt - { - args exch 0 exch getinterval - astore pop - } - {pop} - ifelse - count - /restCount exch def - end - /@opStackLevel @opStackLevel 1 add def - countdictstack 1 sub - @dictStackCountByLevel exch @dictStackLevel exch put - /@dictStackLevel @dictStackLevel 1 add def - @vmState setglobal - end - }bind def -/@_RestoreStackLevels - { - Adobe_CoolType_Data - begin - /@opStackLevel @opStackLevel 1 sub def - @opStackCountByLevel @opStackLevel get - begin - count restCount sub dup 0 gt - {{pop}repeat} - {pop} - ifelse - args 0 argCount getinterval{}forall - end - /@dictStackLevel @dictStackLevel 1 sub def - @dictStackCountByLevel @dictStackLevel get - end - countdictstack exch sub dup 0 gt - {{end}repeat} - {pop} - ifelse - }bind def -/@_PopStackLevels - { - Adobe_CoolType_Data - begin - /@opStackLevel @opStackLevel 1 sub def - /@dictStackLevel @dictStackLevel 1 sub def - end - }bind def -/@Raise - { - exch cvx exch errordict exch get exec - stop - }bind def -/@ReRaise - { - cvx $error/errorname get errordict exch get exec - stop - }bind def -/@Stopped - { - 0 @#Stopped - }bind def -/@#Stopped - { - @_SaveStackLevels - stopped - {@_RestoreStackLevels true} - {@_PopStackLevels false} - ifelse - }bind def -/@Arg - { - Adobe_CoolType_Data - begin - @opStackCountByLevel @opStackLevel 1 sub get - begin - args exch - argCount 1 sub exch sub get - end - end - }bind def -currentglobal true setglobal -/CTHasResourceForAllBug - Level2? - { - 1 dict dup - /@shouldNotDisappearDictValue true def - Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put - begin - count @_SaveStackLevels - {(*){pop stop}128 string/Category resourceforall} - stopped pop - @_RestoreStackLevels - currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get ne dup - { - /@shouldNotDisappearDictValue known - { - { - end - currentdict 1 index eq - {pop exit} - if - } - loop - } - if - } - if - end - } - {false} - ifelse - def -true setglobal -/CTHasResourceStatusBug - Level2? - { - mark - {/steveamerige/Category resourcestatus} - stopped - {cleartomark true} - {cleartomark currentglobal not} - ifelse - } - {false} - ifelse - def -setglobal -/CTResourceStatus - { - mark 3 1 roll - /Category findresource - begin - ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec - {cleartomark false} - {{3 2 roll pop true}{cleartomark false}ifelse} - ifelse - end - }bind def -/CTWorkAroundBugs - { - Level2? - { - /cid_PreLoad/ProcSet resourcestatus - { - pop pop - currentglobal - mark - { - (*) - { - dup/CMap CTHasResourceStatusBug - {CTResourceStatus} - {resourcestatus} - ifelse - { - pop dup 0 eq exch 1 eq or - { - dup/CMap findresource gcheck setglobal - /CMap undefineresource - } - { - pop CTHasResourceForAllBug - {exit} - {stop} - ifelse - } - ifelse - } - {pop} - ifelse - } - 128 string/CMap resourceforall - } - stopped - {cleartomark} - stopped pop - setglobal - } - if - } - if - }bind def -/ds - { - Adobe_CoolType_Core - begin - CTWorkAroundBugs - /mo/moveto load def - /nf/newencodedfont load def - /msf{makefont setfont}bind def - /uf{dup undefinefont ct_VMDictUndef}bind def - /ur/undefineresource load def - /chp/charpath load def - /awsh/awidthshow load def - /wsh/widthshow load def - /ash/ashow load def - /@xshow/xshow load def - /@yshow/yshow load def - /@xyshow/xyshow load def - /@cshow/cshow load def - /sh/show load def - /rp/repeat load def - /.n/.notdef def - end - currentglobal false setglobal - userdict/Adobe_CoolType_Data 2 copy known not - {2 copy 10 dict put} - if - get - begin - /AddWidths? false def - /CC 0 def - /charcode 2 string def - /@opStackCountByLevel 32 dict def - /@opStackLevel 0 def - /@dictStackCountByLevel 32 dict def - /@dictStackLevel 0 def - /InVMFontsByCMap 10 dict def - /InVMDeepCopiedFonts 10 dict def - end - setglobal - }bind def -/dt - { - currentdict Adobe_CoolType_Core eq - {end} - if - }bind def -/ps - { - Adobe_CoolType_Core begin - Adobe_CoolType_GVMFonts begin - Adobe_CoolType_LVMFonts begin - SharedFontDirectory begin - }bind def -/pt - { - end - end - end - end - }bind def -/unload - { - systemdict/languagelevel known - { - systemdict/languagelevel get 2 ge - { - userdict/Adobe_CoolType_Core 2 copy known - {undef} - {pop pop} - ifelse - } - if - } - if - }bind def -/ndf - { - 1 index where - {pop pop pop} - {dup xcheck{bind}if def} - ifelse - }def -/findfont systemdict - begin - userdict - begin - /globaldict where{/globaldict get begin}if - dup where pop exch get - /globaldict where{pop end}if - end - end -Adobe_CoolType_Core_Defined - {/systemfindfont exch def} - { - /findfont 1 index def - /systemfindfont exch def - } -ifelse -/undefinefont - {pop}ndf -/copyfont - { - currentglobal 3 1 roll - 1 index gcheck setglobal - dup null eq{0}{dup length}ifelse - 2 index length add 1 add dict - begin - exch - { - 1 index/FID eq - {pop pop} - {def} - ifelse - } - forall - dup null eq - {pop} - {{def}forall} - ifelse - currentdict - end - exch setglobal - }bind def -/copyarray - { - currentglobal exch - dup gcheck setglobal - dup length array copy - exch setglobal - }bind def -/newencodedfont - { - currentglobal - { - SharedFontDirectory 3 index known - {SharedFontDirectory 3 index get/FontReferenced known} - {false} - ifelse - } - { - FontDirectory 3 index known - {FontDirectory 3 index get/FontReferenced known} - { - SharedFontDirectory 3 index known - {SharedFontDirectory 3 index get/FontReferenced known} - {false} - ifelse - } - ifelse - } - ifelse - dup - { - 3 index findfont/FontReferenced get - 2 index dup type/nametype eq - {findfont} - if ne - {pop false} - if - } - if - dup - { - 1 index dup type/nametype eq - {findfont} - if - dup/CharStrings known - { - /CharStrings get length - 4 index findfont/CharStrings get length - ne - { - pop false - } - if - } - {pop} - ifelse - } - if - { - pop - 1 index findfont - /Encoding get exch - 0 1 255 - {2 copy get 3 index 3 1 roll put} - for - pop pop pop - } - { - currentglobal - 4 1 roll - dup type/nametype eq - {findfont} - if - dup gcheck setglobal - dup dup maxlength 2 add dict - begin - exch - { - 1 index/FID ne - 2 index/Encoding ne and - {def} - {pop pop} - ifelse - } - forall - /FontReferenced exch def - /Encoding exch dup length array copy def - /FontName 1 index dup type/stringtype eq{cvn}if def dup - currentdict - end - definefont ct_VMDictPut - setglobal - } - ifelse - }bind def -/SetSubstituteStrategy - { - $SubstituteFont - begin - dup type/dicttype ne - {0 dict} - if - currentdict/$Strategies known - { - exch $Strategies exch - 2 copy known - { - get - 2 copy maxlength exch maxlength add dict - begin - {def}forall - {def}forall - currentdict - dup/$Init known - {dup/$Init get exec} - if - end - /$Strategy exch def - } - {pop pop pop} - ifelse - } - {pop pop} - ifelse - end - }bind def -/scff - { - $SubstituteFont - begin - dup type/stringtype eq - {dup length exch} - {null} - ifelse - /$sname exch def - /$slen exch def - /$inVMIndex - $sname null eq - { - 1 index $str cvs - dup length $slen sub $slen getinterval cvn - } - {$sname} - ifelse def - end - {findfont} - @Stopped - { - dup length 8 add string exch - 1 index 0(BadFont:)putinterval - 1 index exch 8 exch dup length string cvs putinterval cvn - {findfont} - @Stopped - {pop/Courier findfont} - if - } - if - $SubstituteFont - begin - /$sname null def - /$slen 0 def - /$inVMIndex null def - end - }bind def -/isWidthsOnlyFont - { - dup/WidthsOnly known - {pop pop true} - { - dup/FDepVector known - {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} - { - dup/FDArray known - {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} - {pop} - ifelse - } - ifelse - } - ifelse - }bind def -/ct_StyleDicts 4 dict dup begin - /Adobe-Japan1 4 dict dup begin - Level2? - { - /Serif - /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiMin-W3} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiMin-W3/CIDFont resourcestatus - {pop pop/HeiseiMin-W3} - {/Ryumin-Light} - ifelse - } - {/Ryumin-Light} - ifelse - } - ifelse - def - /SansSerif - /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiKakuGo-W5} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiKakuGo-W5/CIDFont resourcestatus - {pop pop/HeiseiKakuGo-W5} - {/GothicBBB-Medium} - ifelse - } - {/GothicBBB-Medium} - ifelse - } - ifelse - def - /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiMaruGo-W4} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiMaruGo-W4/CIDFont resourcestatus - {pop pop/HeiseiMaruGo-W4} - { - /Jun101-Light-RKSJ-H/Font resourcestatus - {pop pop/Jun101-Light} - {SansSerif} - ifelse - } - ifelse - } - { - /Jun101-Light-RKSJ-H/Font resourcestatus - {pop pop/Jun101-Light} - {SansSerif} - ifelse - } - ifelse - } - ifelse - /RoundSansSerif exch def - /Default Serif def - } - { - /Serif/Ryumin-Light def - /SansSerif/GothicBBB-Medium def - { - (fonts/Jun101-Light-83pv-RKSJ-H)status - }stopped - {pop}{ - {pop pop pop pop/Jun101-Light} - {SansSerif} - ifelse - /RoundSansSerif exch def - }ifelse - /Default Serif def - } - ifelse - end - def - /Adobe-Korea1 4 dict dup begin - /Serif/HYSMyeongJo-Medium def - /SansSerif/HYGoThic-Medium def - /RoundSansSerif SansSerif def - /Default Serif def - end - def - /Adobe-GB1 4 dict dup begin - /Serif/STSong-Light def - /SansSerif/STHeiti-Regular def - /RoundSansSerif SansSerif def - /Default Serif def - end - def - /Adobe-CNS1 4 dict dup begin - /Serif/MKai-Medium def - /SansSerif/MHei-Medium def - /RoundSansSerif SansSerif def - /Default Serif def - end - def -end -def -Level2?{currentglobal true setglobal}if -/ct_BoldRomanWidthProc - { - stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth - 0 0 - }bind def -/ct_Type0WidthProc - { - dup stringwidth 0 0 moveto - 2 index true charpath pathbbox - 0 -1 - 7 index 2 div .88 - setcachedevice2 - pop - 0 0 - }bind def -/ct_Type0WMode1WidthProc - { - dup stringwidth - pop 2 div neg -0.88 - 2 copy - moveto - 0 -1 - 5 -1 roll true charpath pathbbox - setcachedevice - }bind def -/cHexEncoding -[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 -/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 -/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 -/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B -/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E -/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 -/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 -/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 -/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA -/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD -/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 -/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 -/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 -/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def -/ct_BoldBaseFont - 11 dict begin - /FontType 3 def - /FontMatrix[1 0 0 1 0 0]def - /FontBBox[0 0 1 1]def - /Encoding cHexEncoding def - /_setwidthProc/ct_BoldRomanWidthProc load def - /_bcstr1 1 string def - /BuildChar - { - exch begin - _basefont setfont - _bcstr1 dup 0 4 -1 roll put - dup - _setwidthProc - 3 copy - moveto - show - _basefonto setfont - moveto - show - end - }bind def - currentdict - end -def -systemdict/composefont known -{ -/ct_DefineIdentity-H -{ - /Identity-H/CMap resourcestatus - { - pop pop - } - { - /CIDInit/ProcSet findresource begin - 12 dict begin - begincmap - /CIDSystemInfo 3 dict dup begin - /Registry(Adobe)def - /Ordering(Identity)def - /Supplement 0 def - end def - /CMapName/Identity-H def - /CMapVersion 1.000 def - /CMapType 1 def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse -} -def -/ct_BoldBaseCIDFont - 11 dict begin - /CIDFontType 1 def - /CIDFontName/ct_BoldBaseCIDFont def - /FontMatrix[1 0 0 1 0 0]def - /FontBBox[0 0 1 1]def - /_setwidthProc/ct_Type0WidthProc load def - /_bcstr2 2 string def - /BuildGlyph - { - exch begin - _basefont setfont - _bcstr2 1 2 index 256 mod put - _bcstr2 0 3 -1 roll 256 idiv put - _bcstr2 dup _setwidthProc - 3 copy - moveto - show - _basefonto setfont - moveto - show - end - }bind def - currentdict - end -def -}if -Level2?{setglobal}if -/ct_CopyFont{ - { - 1 index/FID ne 2 index/UniqueID ne and - {def}{pop pop}ifelse - }forall -}bind def -/ct_Type0CopyFont -{ - exch - dup length dict - begin - ct_CopyFont - [ - exch - FDepVector - { - dup/FontType get 0 eq - { - 1 index ct_Type0CopyFont - /_ctType0 exch definefont - } - { - /_ctBaseFont exch - 2 index exec - } - ifelse - exch - } - forall - pop - ] - /FDepVector exch def - currentdict - end -}bind def -/ct_MakeBoldFont -{ - dup/ct_SyntheticBold known - { - dup length 3 add dict begin - ct_CopyFont - /ct_StrokeWidth .03 0 FontMatrix idtransform pop def - /ct_SyntheticBold true def - currentdict - end - definefont - } - { - dup dup length 3 add dict - begin - ct_CopyFont - /PaintType 2 def - /StrokeWidth .03 0 FontMatrix idtransform pop def - /dummybold currentdict - end - definefont - dup/FontType get dup 9 ge exch 11 le and - { - ct_BoldBaseCIDFont - dup length 3 add dict copy begin - dup/CIDSystemInfo get/CIDSystemInfo exch def - ct_DefineIdentity-H - /_Type0Identity/Identity-H 3 -1 roll[exch]composefont - /_basefont exch def - /_Type0Identity/Identity-H 3 -1 roll[exch]composefont - /_basefonto exch def - currentdict - end - /CIDFont defineresource - } - { - ct_BoldBaseFont - dup length 3 add dict copy begin - /_basefont exch def - /_basefonto exch def - currentdict - end - definefont - } - ifelse - } - ifelse -}bind def -/ct_MakeBold{ - 1 index - 1 index - findfont - currentglobal 5 1 roll - dup gcheck setglobal - dup - /FontType get 0 eq - { - dup/WMode known{dup/WMode get 1 eq}{false}ifelse - version length 4 ge - and - {version 0 4 getinterval cvi 2015 ge} - {true} - ifelse - {/ct_Type0WidthProc} - {/ct_Type0WMode1WidthProc} - ifelse - ct_BoldBaseFont/_setwidthProc 3 -1 roll load put - {ct_MakeBoldFont}ct_Type0CopyFont definefont - } - { - dup/_fauxfont known not 1 index/SubstMaster known not and - { - ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put - ct_MakeBoldFont - } - { - 2 index 2 index eq - {exch pop } - { - dup length dict begin - ct_CopyFont - currentdict - end - definefont - } - ifelse - } - ifelse - } - ifelse - pop pop pop - setglobal -}bind def -/?str1 256 string def -/?set - { - $SubstituteFont - begin - /$substituteFound false def - /$fontname 1 index def - /$doSmartSub false def - end - dup - findfont - $SubstituteFont - begin - $substituteFound - {false} - { - dup/FontName known - { - dup/FontName get $fontname eq - 1 index/DistillerFauxFont known not and - /currentdistillerparams where - {pop false 2 index isWidthsOnlyFont not and} - if - } - {false} - ifelse - } - ifelse - exch pop - /$doSmartSub true def - end - { - 5 1 roll pop pop pop pop - findfont - } - { - 1 index - findfont - dup/FontType get 3 eq - { - 6 1 roll pop pop pop pop pop false - } - {pop true} - ifelse - { - $SubstituteFont - begin - pop pop - /$styleArray 1 index def - /$regOrdering 2 index def - pop pop - 0 1 $styleArray length 1 sub - { - $styleArray exch get - ct_StyleDicts $regOrdering - 2 copy known - { - get - exch 2 copy known not - {pop/Default} - if - get - dup type/nametype eq - { - ?str1 cvs length dup 1 add exch - ?str1 exch(-)putinterval - exch dup length exch ?str1 exch 3 index exch putinterval - add ?str1 exch 0 exch getinterval cvn - } - { - pop pop/Unknown - } - ifelse - } - { - pop pop pop pop/Unknown - } - ifelse - } - for - end - findfont - }if - } - ifelse - currentglobal false setglobal 3 1 roll - null copyfont definefont pop - setglobal - }bind def -setpacking -userdict/$SubstituteFont 25 dict put -1 dict - begin - /SubstituteFont - dup $error exch 2 copy known - {get} - {pop pop{pop/Courier}bind} - ifelse def - /currentdistillerparams where dup - { - pop pop - currentdistillerparams/CannotEmbedFontPolicy 2 copy known - {get/Error eq} - {pop pop false} - ifelse - } - if not - { - countdictstack array dictstack 0 get - begin - userdict - begin - $SubstituteFont - begin - /$str 128 string def - /$fontpat 128 string def - /$slen 0 def - /$sname null def - /$match false def - /$fontname null def - /$substituteFound false def - /$inVMIndex null def - /$doSmartSub true def - /$depth 0 def - /$fontname null def - /$italicangle 26.5 def - /$dstack null def - /$Strategies 10 dict dup - begin - /$Type3Underprint - { - currentglobal exch false setglobal - 11 dict - begin - /UseFont exch - $WMode 0 ne - { - dup length dict copy - dup/WMode $WMode put - /UseFont exch definefont - } - if def - /FontName $fontname dup type/stringtype eq{cvn}if def - /FontType 3 def - /FontMatrix[.001 0 0 .001 0 0]def - /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def - /FontBBox[0 0 0 0]def - /CCInfo 7 dict dup - begin - /cc null def - /x 0 def - /y 0 def - end def - /BuildChar - { - exch - begin - CCInfo - begin - 1 string dup 0 3 index put exch pop - /cc exch def - UseFont 1000 scalefont setfont - cc stringwidth/y exch def/x exch def - x y setcharwidth - $SubstituteFont/$Strategy get/$Underprint get exec - 0 0 moveto cc show - x y moveto - end - end - }bind def - currentdict - end - exch setglobal - }bind def - /$GetaTint - 2 dict dup - begin - /$BuildFont - { - dup/WMode known - {dup/WMode get} - {0} - ifelse - /$WMode exch def - $fontname exch - dup/FontName known - { - dup/FontName get - dup type/stringtype eq{cvn}if - } - {/unnamedfont} - ifelse - exch - Adobe_CoolType_Data/InVMDeepCopiedFonts get - 1 index/FontName get known - { - pop - Adobe_CoolType_Data/InVMDeepCopiedFonts get - 1 index get - null copyfont - } - {$deepcopyfont} - ifelse - exch 1 index exch/FontBasedOn exch put - dup/FontName $fontname dup type/stringtype eq{cvn}if put - definefont - Adobe_CoolType_Data/InVMDeepCopiedFonts get - begin - dup/FontBasedOn get 1 index def - end - }bind def - /$Underprint - { - gsave - x abs y abs gt - {/y 1000 def} - {/x -1000 def 500 120 translate} - ifelse - Level2? - { - [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] - setcolorspace - } - {0 setgray} - ifelse - 10 setlinewidth - x .8 mul - [7 3] - { - y mul 8 div 120 sub x 10 div exch moveto - 0 y 4 div neg rlineto - dup 0 rlineto - 0 y 4 div rlineto - closepath - gsave - Level2? - {.2 setcolor} - {.8 setgray} - ifelse - fill grestore - stroke - } - forall - pop - grestore - }bind def - end def - /$Oblique - 1 dict dup - begin - /$BuildFont - { - currentglobal exch dup gcheck setglobal - null copyfont - begin - /FontBasedOn - currentdict/FontName known - { - FontName - dup type/stringtype eq{cvn}if - } - {/unnamedfont} - ifelse - def - /FontName $fontname dup type/stringtype eq{cvn}if def - /currentdistillerparams where - {pop} - { - /FontInfo currentdict/FontInfo known - {FontInfo null copyfont} - {2 dict} - ifelse - dup - begin - /ItalicAngle $italicangle def - /FontMatrix FontMatrix - [1 0 ItalicAngle dup sin exch cos div 1 0 0] - matrix concatmatrix readonly - end - 4 2 roll def - def - } - ifelse - FontName currentdict - end - definefont - exch setglobal - }bind def - end def - /$None - 1 dict dup - begin - /$BuildFont{}bind def - end def - end def - /$Oblique SetSubstituteStrategy - /$findfontByEnum - { - dup type/stringtype eq{cvn}if - dup/$fontname exch def - $sname null eq - {$str cvs dup length $slen sub $slen getinterval} - {pop $sname} - ifelse - $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval - /$match false def - $SubstituteFont/$dstack countdictstack array dictstack put - mark - { - $fontpat 0 $slen 7 add getinterval - {/$match exch def exit} - $str filenameforall - } - stopped - { - cleardictstack - currentdict - true - $SubstituteFont/$dstack get - { - exch - { - 1 index eq - {pop false} - {true} - ifelse - } - {begin false} - ifelse - } - forall - pop - } - if - cleartomark - /$slen 0 def - $match false ne - {$match(fonts/)anchorsearch pop pop cvn} - {/Courier} - ifelse - }bind def - /$ROS 1 dict dup - begin - /Adobe 4 dict dup - begin - /Japan1 [/Ryumin-Light/HeiseiMin-W3 - /GothicBBB-Medium/HeiseiKakuGo-W5 - /HeiseiMaruGo-W4/Jun101-Light]def - /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def - /GB1 [/STSong-Light/STHeiti-Regular]def - /CNS1 [/MKai-Medium/MHei-Medium]def - end def - end def - /$cmapname null def - /$deepcopyfont - { - dup/FontType get 0 eq - { - 1 dict dup/FontName/copied put copyfont - begin - /FDepVector FDepVector copyarray - 0 1 2 index length 1 sub - { - 2 copy get $deepcopyfont - dup/FontName/copied put - /copied exch definefont - 3 copy put pop pop - } - for - def - currentdict - end - } - {$Strategies/$Type3Underprint get exec} - ifelse - }bind def - /$buildfontname - { - dup/CIDFont findresource/CIDSystemInfo get - begin - Registry length Ordering length Supplement 8 string cvs - 3 copy length 2 add add add string - dup 5 1 roll dup 0 Registry putinterval - dup 4 index(-)putinterval - dup 4 index 1 add Ordering putinterval - 4 2 roll add 1 add 2 copy(-)putinterval - end - 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch - anchorsearch - {pop pop 3 2 roll putinterval cvn/$cmapname exch def} - {pop pop pop pop pop} - ifelse - length - $str 1 index(-)putinterval 1 add - $str 1 index $cmapname $fontpat cvs putinterval - $cmapname length add - $str exch 0 exch getinterval cvn - }bind def - /$findfontByROS - { - /$fontname exch def - $ROS Registry 2 copy known - { - get Ordering 2 copy known - {get} - {pop pop[]} - ifelse - } - {pop pop[]} - ifelse - false exch - { - dup/CIDFont resourcestatus - { - pop pop - save - 1 index/CIDFont findresource - dup/WidthsOnly known - {dup/WidthsOnly get} - {false} - ifelse - exch pop - exch restore - {pop} - {exch pop true exit} - ifelse - } - {pop} - ifelse - } - forall - {$str cvs $buildfontname} - { - false(*) - { - save exch - dup/CIDFont findresource - dup/WidthsOnly known - {dup/WidthsOnly get not} - {true} - ifelse - exch/CIDSystemInfo get - dup/Registry get Registry eq - exch/Ordering get Ordering eq and and - {exch restore exch pop true exit} - {pop restore} - ifelse - } - $str/CIDFont resourceforall - {$buildfontname} - {$fontname $findfontByEnum} - ifelse - } - ifelse - }bind def - end - end - currentdict/$error known currentdict/languagelevel known and dup - {pop $error/SubstituteFont known} - if - dup - {$error} - {Adobe_CoolType_Core} - ifelse - begin - { - /SubstituteFont - /CMap/Category resourcestatus - { - pop pop - { - $SubstituteFont - begin - /$substituteFound true def - dup length $slen gt - $sname null ne or - $slen 0 gt and - { - $sname null eq - {dup $str cvs dup length $slen sub $slen getinterval cvn} - {$sname} - ifelse - Adobe_CoolType_Data/InVMFontsByCMap get - 1 index 2 copy known - { - get - false exch - { - pop - currentglobal - { - GlobalFontDirectory 1 index known - {exch pop true exit} - {pop} - ifelse - } - { - FontDirectory 1 index known - {exch pop true exit} - { - GlobalFontDirectory 1 index known - {exch pop true exit} - {pop} - ifelse - } - ifelse - } - ifelse - } - forall - } - {pop pop false} - ifelse - { - exch pop exch pop - } - { - dup/CMap resourcestatus - { - pop pop - dup/$cmapname exch def - /CMap findresource/CIDSystemInfo get{def}forall - $findfontByROS - } - { - 128 string cvs - dup(-)search - { - 3 1 roll search - { - 3 1 roll pop - {dup cvi} - stopped - {pop pop pop pop pop $findfontByEnum} - { - 4 2 roll pop pop - exch length - exch - 2 index length - 2 index - sub - exch 1 sub -1 0 - { - $str cvs dup length - 4 index - 0 - 4 index - 4 3 roll add - getinterval - exch 1 index exch 3 index exch - putinterval - dup/CMap resourcestatus - { - pop pop - 4 1 roll pop pop pop - dup/$cmapname exch def - /CMap findresource/CIDSystemInfo get{def}forall - $findfontByROS - true exit - } - {pop} - ifelse - } - for - dup type/booleantype eq - {pop} - {pop pop pop $findfontByEnum} - ifelse - } - ifelse - } - {pop pop pop $findfontByEnum} - ifelse - } - {pop pop $findfontByEnum} - ifelse - } - ifelse - } - ifelse - } - {//SubstituteFont exec} - ifelse - /$slen 0 def - end - } - } - { - { - $SubstituteFont - begin - /$substituteFound true def - dup length $slen gt - $sname null ne or - $slen 0 gt and - {$findfontByEnum} - {//SubstituteFont exec} - ifelse - end - } - } - ifelse - bind readonly def - Adobe_CoolType_Core/scfindfont/systemfindfont load put - } - { - /scfindfont - { - $SubstituteFont - begin - dup systemfindfont - dup/FontName known - {dup/FontName get dup 3 index ne} - {/noname true} - ifelse - dup - { - /$origfontnamefound 2 index def - /$origfontname 4 index def/$substituteFound true def - } - if - exch pop - { - $slen 0 gt - $sname null ne - 3 index length $slen gt or and - { - pop dup $findfontByEnum findfont - dup maxlength 1 add dict - begin - {1 index/FID eq{pop pop}{def}ifelse} - forall - currentdict - end - definefont - dup/FontName known{dup/FontName get}{null}ifelse - $origfontnamefound ne - { - $origfontname $str cvs print - ( substitution revised, using )print - dup/FontName known - {dup/FontName get}{(unspecified font)} - ifelse - $str cvs print(.\n)print - } - if - } - {exch pop} - ifelse - } - {exch pop} - ifelse - end - }bind def - } - ifelse - end - end - Adobe_CoolType_Core_Defined not - { - Adobe_CoolType_Core/findfont - { - $SubstituteFont - begin - $depth 0 eq - { - /$fontname 1 index dup type/stringtype ne{$str cvs}if def - /$substituteFound false def - } - if - /$depth $depth 1 add def - end - scfindfont - $SubstituteFont - begin - /$depth $depth 1 sub def - $substituteFound $depth 0 eq and - { - $inVMIndex null ne - {dup $inVMIndex $AddInVMFont} - if - $doSmartSub - { - currentdict/$Strategy known - {$Strategy/$BuildFont get exec} - if - } - if - } - if - end - }bind put - } - if - } - if - end -/$AddInVMFont - { - exch/FontName 2 copy known - { - get - 1 dict dup begin exch 1 index gcheck def end exch - Adobe_CoolType_Data/InVMFontsByCMap get exch - $DictAdd - } - {pop pop pop} - ifelse - }bind def -/$DictAdd - { - 2 copy known not - {2 copy 4 index length dict put} - if - Level2? not - { - 2 copy get dup maxlength exch length 4 index length add lt - 2 copy get dup length 4 index length add exch maxlength 1 index lt - { - 2 mul dict - begin - 2 copy get{forall}def - 2 copy currentdict put - end - } - {pop} - ifelse - } - if - get - begin - {def} - forall - end - }bind def -end -end -%%EndResource -currentglobal true setglobal -%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. -%%Version: 1.23 0 -systemdict/languagelevel known dup - {currentglobal false setglobal} - {false} -ifelse -exch -userdict/Adobe_CoolType_Utility 2 copy known - {2 copy get dup maxlength 27 add dict copy} - {27 dict} -ifelse put -Adobe_CoolType_Utility - begin - /@eexecStartData - def - /@recognizeCIDFont null def - /ct_Level2? exch def - /ct_Clone? 1183615869 internaldict dup - /CCRun known not - exch/eCCRun known not - ct_Level2? and or def -ct_Level2? - {globaldict begin currentglobal true setglobal} -if - /ct_AddStdCIDMap - ct_Level2? - {{ - mark - Adobe_CoolType_Utility/@recognizeCIDFont currentdict put - { - ((Hex)57 StartData - 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 - 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 - d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 - cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec - } - stopped - { - cleartomark - Adobe_CoolType_Utility/@recognizeCIDFont get - countdictstack dup array dictstack - exch 1 sub -1 0 - { - 2 copy get 3 index eq - {1 index length exch sub 1 sub{end}repeat exit} - {pop} - ifelse - } - for - pop pop - Adobe_CoolType_Utility/@eexecStartData get eexec - } - {cleartomark} - ifelse - }} - {{ - Adobe_CoolType_Utility/@eexecStartData get eexec - }} - ifelse bind def -userdict/cid_extensions known -dup{cid_extensions/cid_UpdateDB known and}if - { - cid_extensions - begin - /cid_GetCIDSystemInfo - { - 1 index type/stringtype eq - {exch cvn exch} - if - cid_extensions - begin - dup load 2 index known - { - 2 copy - cid_GetStatusInfo - dup null ne - { - 1 index load - 3 index get - dup null eq - {pop pop cid_UpdateDB} - { - exch - 1 index/Created get eq - {exch pop exch pop} - {pop cid_UpdateDB} - ifelse - } - ifelse - } - {pop cid_UpdateDB} - ifelse - } - {cid_UpdateDB} - ifelse - end - }bind def - end - } -if -ct_Level2? - {end setglobal} -if - /ct_UseNativeCapability? systemdict/composefont known def - /ct_MakeOCF 35 dict def - /ct_Vars 25 dict def - /ct_GlyphDirProcs 6 dict def - /ct_BuildCharDict 15 dict dup - begin - /charcode 2 string def - /dst_string 1500 string def - /nullstring()def - /usewidths? true def - end def - ct_Level2?{setglobal}{pop}ifelse - ct_GlyphDirProcs - begin - /GetGlyphDirectory - { - systemdict/languagelevel known - {pop/CIDFont findresource/GlyphDirectory get} - { - 1 index/CIDFont findresource/GlyphDirectory - get dup type/dicttype eq - { - dup dup maxlength exch length sub 2 index lt - { - dup length 2 index add dict copy 2 index - /CIDFont findresource/GlyphDirectory 2 index put - } - if - } - if - exch pop exch pop - } - ifelse - + - }def - /+ - { - systemdict/languagelevel known - { - currentglobal false setglobal - 3 dict begin - /vm exch def - } - {1 dict begin} - ifelse - /$ exch def - systemdict/languagelevel known - { - vm setglobal - /gvm currentglobal def - $ gcheck setglobal - } - if - ?{$ begin}if - }def - /?{$ type/dicttype eq}def - /|{ - userdict/Adobe_CoolType_Data known - { - Adobe_CoolType_Data/AddWidths? known - { - currentdict Adobe_CoolType_Data - begin - begin - AddWidths? - { - Adobe_CoolType_Data/CC 3 index put - ?{def}{$ 3 1 roll put}ifelse - CC charcode exch 1 index 0 2 index 256 idiv put - 1 index exch 1 exch 256 mod put - stringwidth 2 array astore - currentfont/Widths get exch CC exch put - } - {?{def}{$ 3 1 roll put}ifelse} - ifelse - end - end - } - {?{def}{$ 3 1 roll put}ifelse} ifelse - } - {?{def}{$ 3 1 roll put}ifelse} - ifelse - }def - /! - { - ?{end}if - systemdict/languagelevel known - {gvm setglobal} - if - end - }def - /:{string currentfile exch readstring pop}executeonly def - end - ct_MakeOCF - begin - /ct_cHexEncoding - [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 - /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 - /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 - /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B - /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E - /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 - /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 - /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 - /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA - /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD - /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 - /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 - /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 - /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def - /ct_CID_STR_SIZE 8000 def - /ct_mkocfStr100 100 string def - /ct_defaultFontMtx[.001 0 0 .001 0 0]def - /ct_1000Mtx[1000 0 0 1000 0 0]def - /ct_raise{exch cvx exch errordict exch get exec stop}bind def - /ct_reraise - {cvx $error/errorname get(Error: )print dup( )cvs print - errordict exch get exec stop - }bind def - /ct_cvnsi - { - 1 index add 1 sub 1 exch 0 4 1 roll - { - 2 index exch get - exch 8 bitshift - add - } - for - exch pop - }bind def - /ct_GetInterval - { - Adobe_CoolType_Utility/ct_BuildCharDict get - begin - /dst_index 0 def - dup dst_string length gt - {dup string/dst_string exch def} - if - 1 index ct_CID_STR_SIZE idiv - /arrayIndex exch def - 2 index arrayIndex get - 2 index - arrayIndex ct_CID_STR_SIZE mul - sub - { - dup 3 index add 2 index length le - { - 2 index getinterval - dst_string dst_index 2 index putinterval - length dst_index add/dst_index exch def - exit - } - { - 1 index length 1 index sub - dup 4 1 roll - getinterval - dst_string dst_index 2 index putinterval - pop dup dst_index add/dst_index exch def - sub - /arrayIndex arrayIndex 1 add def - 2 index dup length arrayIndex gt - {arrayIndex get} - { - pop - exit - } - ifelse - 0 - } - ifelse - } - loop - pop pop pop - dst_string 0 dst_index getinterval - end - }bind def - ct_Level2? - { - /ct_resourcestatus - currentglobal mark true setglobal - {/unknowninstancename/Category resourcestatus} - stopped - {cleartomark setglobal true} - {cleartomark currentglobal not exch setglobal} - ifelse - { - { - mark 3 1 roll/Category findresource - begin - ct_Vars/vm currentglobal put - ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec - {cleartomark false} - {{3 2 roll pop true}{cleartomark false}ifelse} - ifelse - ct_Vars/vm get setglobal - end - } - } - {{resourcestatus}} - ifelse bind def - /CIDFont/Category ct_resourcestatus - {pop pop} - { - currentglobal true setglobal - /Generic/Category findresource - dup length dict copy - dup/InstanceType/dicttype put - /CIDFont exch/Category defineresource pop - setglobal - } - ifelse - ct_UseNativeCapability? - { - /CIDInit/ProcSet findresource begin - 12 dict begin - begincmap - /CIDSystemInfo 3 dict dup begin - /Registry(Adobe)def - /Ordering(Identity)def - /Supplement 0 def - end def - /CMapName/Identity-H def - /CMapVersion 1.000 def - /CMapType 1 def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - if - } - { - /ct_Category 2 dict begin - /CIDFont 10 dict def - /ProcSet 2 dict def - currentdict - end - def - /defineresource - { - ct_Category 1 index 2 copy known - { - get - dup dup maxlength exch length eq - { - dup length 10 add dict copy - ct_Category 2 index 2 index put - } - if - 3 index 3 index put - pop exch pop - } - {pop pop/defineresource/undefined ct_raise} - ifelse - }bind def - /findresource - { - ct_Category 1 index 2 copy known - { - get - 2 index 2 copy known - {get 3 1 roll pop pop} - {pop pop/findresource/undefinedresource ct_raise} - ifelse - } - {pop pop/findresource/undefined ct_raise} - ifelse - }bind def - /resourcestatus - { - ct_Category 1 index 2 copy known - { - get - 2 index known - exch pop exch pop - { - 0 -1 true - } - { - false - } - ifelse - } - {pop pop/findresource/undefined ct_raise} - ifelse - }bind def - /ct_resourcestatus/resourcestatus load def - } - ifelse - /ct_CIDInit 2 dict - begin - /ct_cidfont_stream_init - { - { - dup(Binary)eq - { - pop - null - currentfile - ct_Level2? - { - {cid_BYTE_COUNT()/SubFileDecode filter} - stopped - {pop pop pop} - if - } - if - /readstring load - exit - } - if - dup(Hex)eq - { - pop - currentfile - ct_Level2? - { - {null exch/ASCIIHexDecode filter/readstring} - stopped - {pop exch pop(>)exch/readhexstring} - if - } - {(>)exch/readhexstring} - ifelse - load - exit - } - if - /StartData/typecheck ct_raise - } - loop - cid_BYTE_COUNT ct_CID_STR_SIZE le - { - 2 copy cid_BYTE_COUNT string exch exec - pop - 1 array dup - 3 -1 roll - 0 exch put - } - { - cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi - dup array exch 2 sub 0 exch 1 exch - { - 2 copy - 5 index - ct_CID_STR_SIZE - string - 6 index exec - pop - put - pop - } - for - 2 index - cid_BYTE_COUNT ct_CID_STR_SIZE mod string - 3 index exec - pop - 1 index exch - 1 index length 1 sub - exch put - } - ifelse - cid_CIDFONT exch/GlyphData exch put - 2 index null eq - { - pop pop pop - } - { - pop/readstring load - 1 string exch - { - 3 copy exec - pop - dup length 0 eq - { - pop pop pop pop pop - true exit - } - if - 4 index - eq - { - pop pop pop pop - false exit - } - if - } - loop - pop - } - ifelse - }bind def - /StartData - { - mark - { - currentdict - dup/FDArray get 0 get/FontMatrix get - 0 get 0.001 eq - { - dup/CDevProc known not - { - /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known - {get} - { - pop pop - {pop pop pop pop pop 0 -1000 7 index 2 div 880} - } - ifelse - def - } - if - } - { - /CDevProc - { - pop pop pop pop pop - 0 - 1 cid_temp/cid_CIDFONT get - /FDArray get 0 get - /FontMatrix get 0 get div - 7 index 2 div - 1 index 0.88 mul - }def - } - ifelse - /cid_temp 15 dict def - cid_temp - begin - /cid_CIDFONT exch def - 3 copy pop - dup/cid_BYTE_COUNT exch def 0 gt - { - ct_cidfont_stream_init - FDArray - { - /Private get - dup/SubrMapOffset known - { - begin - /Subrs SubrCount array def - Subrs - SubrMapOffset - SubrCount - SDBytes - ct_Level2? - { - currentdict dup/SubrMapOffset undef - dup/SubrCount undef - /SDBytes undef - } - if - end - /cid_SD_BYTES exch def - /cid_SUBR_COUNT exch def - /cid_SUBR_MAP_OFFSET exch def - /cid_SUBRS exch def - cid_SUBR_COUNT 0 gt - { - GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval - 0 cid_SD_BYTES ct_cvnsi - 0 1 cid_SUBR_COUNT 1 sub - { - exch 1 index - 1 add - cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add - GlyphData exch cid_SD_BYTES ct_GetInterval - 0 cid_SD_BYTES ct_cvnsi - cid_SUBRS 4 2 roll - GlyphData exch - 4 index - 1 index - sub - ct_GetInterval - dup length string copy put - } - for - pop - } - if - } - {pop} - ifelse - } - forall - } - if - cleartomark pop pop - end - CIDFontName currentdict/CIDFont defineresource pop - end end - } - stopped - {cleartomark/StartData ct_reraise} - if - }bind def - currentdict - end def - /ct_saveCIDInit - { - /CIDInit/ProcSet ct_resourcestatus - {true} - {/CIDInitC/ProcSet ct_resourcestatus} - ifelse - { - pop pop - /CIDInit/ProcSet findresource - ct_UseNativeCapability? - {pop null} - {/CIDInit ct_CIDInit/ProcSet defineresource pop} - ifelse - } - {/CIDInit ct_CIDInit/ProcSet defineresource pop null} - ifelse - ct_Vars exch/ct_oldCIDInit exch put - }bind def - /ct_restoreCIDInit - { - ct_Vars/ct_oldCIDInit get dup null ne - {/CIDInit exch/ProcSet defineresource pop} - {pop} - ifelse - }bind def - /ct_BuildCharSetUp - { - 1 index - begin - CIDFont - begin - Adobe_CoolType_Utility/ct_BuildCharDict get - begin - /ct_dfCharCode exch def - /ct_dfDict exch def - CIDFirstByte ct_dfCharCode add - dup CIDCount ge - {pop 0} - if - /cid exch def - { - GlyphDirectory cid 2 copy known - {get} - {pop pop nullstring} - ifelse - dup length FDBytes sub 0 gt - { - dup - FDBytes 0 ne - {0 FDBytes ct_cvnsi} - {pop 0} - ifelse - /fdIndex exch def - dup length FDBytes sub FDBytes exch getinterval - /charstring exch def - exit - } - { - pop - cid 0 eq - {/charstring nullstring def exit} - if - /cid 0 def - } - ifelse - } - loop - }def - /ct_SetCacheDevice - { - 0 0 moveto - dup stringwidth - 3 -1 roll - true charpath - pathbbox - 0 -1000 - 7 index 2 div 880 - setcachedevice2 - 0 0 moveto - }def - /ct_CloneSetCacheProc - { - 1 eq - { - stringwidth - pop -2 div -880 - 0 -1000 setcharwidth - moveto - } - { - usewidths? - { - currentfont/Widths get cid - 2 copy known - {get exch pop aload pop} - {pop pop stringwidth} - ifelse - } - {stringwidth} - ifelse - setcharwidth - 0 0 moveto - } - ifelse - }def - /ct_Type3ShowCharString - { - ct_FDDict fdIndex 2 copy known - {get} - { - currentglobal 3 1 roll - 1 index gcheck setglobal - ct_Type1FontTemplate dup maxlength dict copy - begin - FDArray fdIndex get - dup/FontMatrix 2 copy known - {get} - {pop pop ct_defaultFontMtx} - ifelse - /FontMatrix exch dup length array copy def - /Private get - /Private exch def - /Widths rootfont/Widths get def - /CharStrings 1 dict dup/.notdef - dup length string copy put def - currentdict - end - /ct_Type1Font exch definefont - dup 5 1 roll put - setglobal - } - ifelse - dup/CharStrings get 1 index/Encoding get - ct_dfCharCode get charstring put - rootfont/WMode 2 copy known - {get} - {pop pop 0} - ifelse - exch - 1000 scalefont setfont - ct_str1 0 ct_dfCharCode put - ct_str1 exch ct_dfSetCacheProc - ct_SyntheticBold - { - currentpoint - ct_str1 show - newpath - moveto - ct_str1 true charpath - ct_StrokeWidth setlinewidth - stroke - } - {ct_str1 show} - ifelse - }def - /ct_Type4ShowCharString - { - ct_dfDict ct_dfCharCode charstring - FDArray fdIndex get - dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not - {ct_1000Mtx matrix concatmatrix concat} - {pop} - ifelse - /Private get - Adobe_CoolType_Utility/ct_Level2? get not - { - ct_dfDict/Private - 3 -1 roll - {put} - 1183615869 internaldict/superexec get exec - } - if - 1183615869 internaldict - Adobe_CoolType_Utility/ct_Level2? get - {1 index} - {3 index/Private get mark 6 1 roll} - ifelse - dup/RunInt known - {/RunInt get} - {pop/CCRun} - ifelse - get exec - Adobe_CoolType_Utility/ct_Level2? get not - {cleartomark} - if - }bind def - /ct_BuildCharIncremental - { - { - Adobe_CoolType_Utility/ct_MakeOCF get begin - ct_BuildCharSetUp - ct_ShowCharString - } - stopped - {stop} - if - end - end - end - end - }bind def - /BaseFontNameStr(BF00)def - /ct_Type1FontTemplate 14 dict - begin - /FontType 1 def - /FontMatrix [0.001 0 0 0.001 0 0]def - /FontBBox [-250 -250 1250 1250]def - /Encoding ct_cHexEncoding def - /PaintType 0 def - currentdict - end def - /BaseFontTemplate 11 dict - begin - /FontMatrix [0.001 0 0 0.001 0 0]def - /FontBBox [-250 -250 1250 1250]def - /Encoding ct_cHexEncoding def - /BuildChar/ct_BuildCharIncremental load def - ct_Clone? - { - /FontType 3 def - /ct_ShowCharString/ct_Type3ShowCharString load def - /ct_dfSetCacheProc/ct_CloneSetCacheProc load def - /ct_SyntheticBold false def - /ct_StrokeWidth 1 def - } - { - /FontType 4 def - /Private 1 dict dup/lenIV 4 put def - /CharStrings 1 dict dup/.notdefput def - /PaintType 0 def - /ct_ShowCharString/ct_Type4ShowCharString load def - } - ifelse - /ct_str1 1 string def - currentdict - end def - /BaseFontDictSize BaseFontTemplate length 5 add def - /ct_matrixeq - { - true 0 1 5 - { - dup 4 index exch get exch 3 index exch get eq and - dup not - {exit} - if - } - for - exch pop exch pop - }bind def - /ct_makeocf - { - 15 dict - begin - exch/WMode exch def - exch/FontName exch def - /FontType 0 def - /FMapType 2 def - dup/FontMatrix known - {dup/FontMatrix get/FontMatrix exch def} - {/FontMatrix matrix def} - ifelse - /bfCount 1 index/CIDCount get 256 idiv 1 add - dup 256 gt{pop 256}if def - /Encoding - 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for - bfCount 1 255{2 copy bfCount put pop}for - def - /FDepVector bfCount dup 256 lt{1 add}if array def - BaseFontTemplate BaseFontDictSize dict copy - begin - /CIDFont exch def - CIDFont/FontBBox known - {CIDFont/FontBBox get/FontBBox exch def} - if - CIDFont/CDevProc known - {CIDFont/CDevProc get/CDevProc exch def} - if - currentdict - end - BaseFontNameStr 3(0)putinterval - 0 1 bfCount dup 256 eq{1 sub}if - { - FDepVector exch - 2 index BaseFontDictSize dict copy - begin - dup/CIDFirstByte exch 256 mul def - FontType 3 eq - {/ct_FDDict 2 dict def} - if - currentdict - end - 1 index 16 - BaseFontNameStr 2 2 getinterval cvrs pop - BaseFontNameStr exch definefont - put - } - for - ct_Clone? - {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} - if - FontName - currentdict - end - definefont - ct_Clone? - { - gsave - dup 1000 scalefont setfont - ct_BuildCharDict - begin - /usewidths? false def - currentfont/Widths get - begin - exch/CIDFont get/GlyphDirectory get - { - pop - dup charcode exch 1 index 0 2 index 256 idiv put - 1 index exch 1 exch 256 mod put - stringwidth 2 array astore def - } - forall - end - /usewidths? true def - end - grestore - } - {exch pop} - ifelse - }bind def - currentglobal true setglobal - /ct_ComposeFont - { - ct_UseNativeCapability? - { - 2 index/CMap ct_resourcestatus - {pop pop exch pop} - { - /CIDInit/ProcSet findresource - begin - 12 dict - begin - begincmap - /CMapName 3 index def - /CMapVersion 1.000 def - /CMapType 1 def - exch/WMode exch def - /CIDSystemInfo 3 dict dup - begin - /Registry(Adobe)def - /Ordering - CMapName ct_mkocfStr100 cvs - (Adobe-)search - { - pop pop - (-)search - { - dup length string copy - exch pop exch pop - } - {pop(Identity)} - ifelse - } - {pop (Identity)} - ifelse - def - /Supplement 0 def - end def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse - composefont - } - { - 3 2 roll pop - 0 get/CIDFont findresource - ct_makeocf - } - ifelse - }bind def - setglobal - /ct_MakeIdentity - { - ct_UseNativeCapability? - { - 1 index/CMap ct_resourcestatus - {pop pop} - { - /CIDInit/ProcSet findresource begin - 12 dict begin - begincmap - /CMapName 2 index def - /CMapVersion 1.000 def - /CMapType 1 def - /CIDSystemInfo 3 dict dup - begin - /Registry(Adobe)def - /Ordering - CMapName ct_mkocfStr100 cvs - (Adobe-)search - { - pop pop - (-)search - {dup length string copy exch pop exch pop} - {pop(Identity)} - ifelse - } - {pop(Identity)} - ifelse - def - /Supplement 0 def - end def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse - composefont - } - { - exch pop - 0 get/CIDFont findresource - ct_makeocf - } - ifelse - }bind def - currentdict readonly pop - end - end -%%EndResource -setglobal -%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 -%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. -%%Version: 1.0 0 -userdict/ct_T42Dict 15 dict put -ct_T42Dict begin -/Is2015? -{ - version - cvi - 2015 - ge -}bind def -/AllocGlyphStorage -{ - Is2015? - { - pop - } - { - {string}forall - }ifelse -}bind def -/Type42DictBegin -{ -25 dict begin - /FontName exch def - /CharStrings 256 dict -begin - /.notdef 0 def - currentdict -end def - /Encoding exch def - /PaintType 0 def - /FontType 42 def - /FontMatrix[1 0 0 1 0 0]def - 4 array astore cvx/FontBBox exch def - /sfnts -}bind def -/Type42DictEnd -{ - currentdict dup/FontName get exch definefont end -ct_T42Dict exch -dup/FontName get exch put -}bind def -/RD{string currentfile exch readstring pop}executeonly def -/PrepFor2015 -{ -Is2015? -{ - /GlyphDirectory - 16 - dict def - sfnts 0 get - dup - 2 index - (glyx) - putinterval - 2 index - (locx) - putinterval - pop - pop -} -{ - pop - pop -}ifelse -}bind def -/AddT42Char -{ -Is2015? -{ - /GlyphDirectory get - begin - def - end - pop - pop -} -{ - /sfnts get - 4 index - get - 3 index - 2 index - putinterval - pop - pop - pop - pop -}ifelse -}bind def -/T0AddT42Mtx2 -{ -/CIDFont findresource/Metrics2 get begin def end -}bind def -end -%%EndResource -currentglobal true setglobal -%%BeginFile: MMFauxFont.prc -%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. -%%All Rights Reserved. -userdict /ct_EuroDict 10 dict put -ct_EuroDict begin -/ct_CopyFont -{ - { 1 index /FID ne {def} {pop pop} ifelse} forall +%%BeginResource: procset xpdf 3.00 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + % Change paper size, but only if different from previous paper size otherwise + % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size + % so we use the same when checking if the size changes. + /setpagedevice where { + pop currentpagedevice + /PageSize known { + 2 copy + currentpagedevice /PageSize get aload pop + exch 4 1 roll + sub abs 5 gt + 3 1 roll + sub abs 5 gt + or + } { + true + } ifelse + { + 2 array astore + 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end + setpagedevice + } { + pop pop + } ifelse + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfPatternCS false def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def } def -/ct_GetGlyphOutline -{ - gsave - initmatrix newpath - exch findfont dup - length 1 add dict - begin - ct_CopyFont - /Encoding Encoding dup length array copy - dup - 4 -1 roll - 0 exch put - def - currentdict - end - /ct_EuroFont exch definefont - 1000 scalefont setfont - 0 0 moveto - [ - <00> stringwidth - <00> false charpath - pathbbox - [ - {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall - grestore - counttomark 8 add -} -def -/ct_MakeGlyphProc -{ - ] cvx - /ct_PSBuildGlyph cvx - ] cvx +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if } def -/ct_PSBuildGlyph -{ - gsave - 8 -1 roll pop - 7 1 roll - 6 -2 roll ct_FontMatrix transform 6 2 roll - 4 -2 roll ct_FontMatrix transform 4 2 roll - ct_FontMatrix transform - currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse - dup 9 1 roll - { - currentdict /StrokeWidth 2 copy known - { - get 2 div - 0 ct_FontMatrix dtransform pop - 5 1 roll - 4 -1 roll 4 index sub - 4 1 roll - 3 -1 roll 4 index sub - 3 1 roll - exch 4 index add exch - 4 index add - 5 -1 roll pop - } - { - pop pop - } - ifelse - } - if - setcachedevice - ct_FontMatrix concat - ct_PSPathOps begin - exec - end - { - currentdict /StrokeWidth 2 copy known - { get } - { pop pop 0 } - ifelse - setlinewidth stroke - } - { - fill - } - ifelse - grestore -} def -/ct_PSPathOps 4 dict dup begin - /m {moveto} def - /l {lineto} def - /c {curveto} def - /cp {closepath} def -end -def -/ct_matrix1000 [1000 0 0 1000 0 0] def -/ct_AddGlyphProc -{ - 2 index findfont dup length 4 add dict - begin - ct_CopyFont - /CharStrings CharStrings dup length 1 add dict copy - begin - 3 1 roll def - currentdict - end - def - /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def - /ct_PSBuildGlyph /ct_PSBuildGlyph load def - /ct_PSPathOps /ct_PSPathOps load def - currentdict - end - definefont pop -} -def -systemdict /languagelevel known -{ - /ct_AddGlyphToPrinterFont { - 2 copy - ct_GetGlyphOutline 3 add -1 roll restore - ct_MakeGlyphProc - ct_AddGlyphProc - } def -} -{ - /ct_AddGlyphToPrinterFont { - pop pop restore - Adobe_CTFauxDict /$$$FONTNAME get - /Euro - Adobe_CTFauxDict /$$$SUBSTITUTEBASE get - ct_EuroDict exch get - ct_AddGlyphProc - } def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Tp { /pdfPatternCS exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def } ifelse -/AdobeSansMM -{ -556 0 24 -19 541 703 - { - 541 628 m - 510 669 442 703 354 703 c - 201 703 117 607 101 444 c - 50 444 l - 25 372 l - 97 372 l - 97 301 l - 49 301 l - 24 229 l - 103 229 l - 124 67 209 -19 350 -19 c - 435 -19 501 25 509 32 c - 509 131 l - 492 105 417 60 343 60 c - 267 60 204 127 197 229 c - 406 229 l - 430 301 l - 191 301 l - 191 372 l - 455 372 l - 479 444 l - 194 444 l - 201 531 245 624 348 624 c - 433 624 484 583 509 534 c - cp - 556 0 m - } -ct_PSBuildGlyph +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +/Tclip* { pdfTextClipPath cvx exec eoclip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse } def -/AdobeSerifMM -{ -500 0 10 -12 484 692 - { - 347 298 m - 171 298 l - 170 310 170 322 170 335 c - 170 362 l - 362 362 l - 374 403 l - 172 403 l - 184 580 244 642 308 642 c - 380 642 434 574 457 457 c - 481 462 l - 474 691 l - 449 691 l - 433 670 429 657 410 657 c - 394 657 360 692 299 692 c - 204 692 94 604 73 403 c - 22 403 l - 10 362 l - 70 362 l - 69 352 69 341 69 330 c - 69 319 69 308 70 298 c - 22 298 l - 10 257 l - 73 257 l - 97 57 216 -12 295 -12 c - 364 -12 427 25 484 123 c - 458 142 l - 425 101 384 37 316 37 c - 256 37 189 84 173 257 c - 335 257 l - cp - 500 0 m - } -ct_PSBuildGlyph -} def -end -%%EndFile -setglobal -Adobe_CoolType_Core begin /$None SetSubstituteStrategy end -%%BeginResource: procset Adobe_AGM_Image 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2003 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Image 71 dict dup begin put -/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def -/nd{ - null def -}bind def -/AGMIMG_&image nd -/AGMIMG_&colorimage nd -/AGMIMG_&imagemask nd -/AGMIMG_mbuf()def -/AGMIMG_ybuf()def -/AGMIMG_kbuf()def -/AGMIMG_c 0 def -/AGMIMG_m 0 def -/AGMIMG_y 0 def -/AGMIMG_k 0 def -/AGMIMG_tmp nd -/AGMIMG_imagestring0 nd -/AGMIMG_imagestring1 nd -/AGMIMG_imagestring2 nd -/AGMIMG_imagestring3 nd -/AGMIMG_imagestring4 nd -/AGMIMG_imagestring5 nd -/AGMIMG_cnt nd -/AGMIMG_fsave nd -/AGMIMG_colorAry nd -/AGMIMG_override nd -/AGMIMG_name nd -/AGMIMG_maskSource nd -/AGMIMG_flushfilters nd -/invert_image_samples nd -/knockout_image_samples nd -/img nd -/sepimg nd -/devnimg nd -/idximg nd -/ds -{ - Adobe_AGM_Core begin - Adobe_AGM_Image begin - /AGMIMG_&image systemdict/image get def - /AGMIMG_&imagemask systemdict/imagemask get def - /colorimage where{ - pop - /AGMIMG_&colorimage/colorimage ldf - }if - end - end -}def -/ps -{ - Adobe_AGM_Image begin - /AGMIMG_ccimage_exists{/customcolorimage where - { - pop - /Adobe_AGM_OnHost_Seps where - { - pop false - }{ - /Adobe_AGM_InRip_Seps where - { - pop false - }{ - true - }ifelse - }ifelse - }{ - false - }ifelse - }bdf - level2{ - /invert_image_samples - { - Adobe_AGM_Image/AGMIMG_tmp Decode length ddf - /Decode[Decode 1 get Decode 0 get]def - }def - /knockout_image_samples - { - Operator/imagemask ne{ - /Decode[1 1]def - }if - }def - }{ - /invert_image_samples - { - {1 exch sub}currenttransfer addprocs settransfer - }def - /knockout_image_samples - { - {pop 1}currenttransfer addprocs settransfer - }def - }ifelse - /img/imageormask ldf - /sepimg/sep_imageormask ldf - /devnimg/devn_imageormask ldf - /idximg/indexed_imageormask ldf - /_ctype 7 def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall -}def -/pt -{ - end -}def -/dt -{ -}def -/AGMIMG_flushfilters -{ - dup type/arraytype ne - {1 array astore}if - dup 0 get currentfile ne - {dup 0 get flushfile}if - { - dup type/filetype eq - { - dup status 1 index currentfile ne and - {closefile} - {pop} - ifelse - }{pop}ifelse - }forall -}def -/AGMIMG_init_common -{ - currentdict/T known{/ImageType/T ldf currentdict/T undef}if - currentdict/W known{/Width/W ldf currentdict/W undef}if - currentdict/H known{/Height/H ldf currentdict/H undef}if - currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if - currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if - currentdict/D known{/Decode/D ldf currentdict/D undef}if - currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if - currentdict/O known{ - /Operator/O load 1 eq{ - /imagemask - }{ - /O load 2 eq{ - /image - }{ - /colorimage - }ifelse - }ifelse - def - currentdict/O undef - }if - currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if - currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if - currentdict/I known{/Interpolate/I ldf currentdict/I undef}if - currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if - /DataSource load xcheck not{ - DataSource type/arraytype eq{ - DataSource 0 get type/filetype eq{ - /_Filters DataSource def - currentdict/MultipleDataSources known not{ - /DataSource DataSource dup length 1 sub get def - }if - }if - }if - currentdict/MultipleDataSources known not{ - /MultipleDataSources DataSource type/arraytype eq{ - DataSource length 1 gt - } - {false}ifelse def - }if - }if - /NComponents Decode length 2 div def - currentdict/SkipImageProc known not{/SkipImageProc{false}def}if -}bdf -/imageormask_sys -{ - begin - AGMIMG_init_common - save mark - level2{ - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - AGMIMG_&imagemask - }{ - BitsPerComponent ImageMatrix/DataSource load - AGMIMG_&image - }ifelse - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - cleartomark restore - end -}def -/overprint_plate -{ - currentoverprint{ - 0 get dup type/nametype eq{ - dup/DeviceGray eq{ - pop AGMCORE_black_plate not - }{ - /DeviceCMYK eq{ - AGMCORE_is_cmyk_sep not - }if - }ifelse - }{ - false exch - { - AGMOHS_sepink eq or - }forall - not - }ifelse - }{ - pop false - }ifelse -}def -/process_mask -{ - level3{ - dup begin - /ImageType 1 def - end - 4 dict begin - /DataDict exch def - /ImageType 3 def - /InterleaveType 3 def - /MaskDict 9 dict begin - /ImageType 1 def - /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def - /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def - /ImageMatrix[Width 0 0 Height neg 0 Height]def - /NComponents 1 def - /BitsPerComponent 1 def - /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def - /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def - currentdict end def - currentdict end - }if -}def -/use_mask -{ - dup/Mask known {dup/Mask get}{false}ifelse -}def -/imageormask -{ - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - } - { - save mark - level2 AGMCORE_host_sep not and{ - currentdict - Operator/imagemask eq DeviceN_PS2 not and{ - imagemask - }{ - AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ - [/Separation/Black/DeviceGray{}]setcolorspace - /Decode[Decode 1 get Decode 0 get]def - }if - use_mask{ - process_mask image - }{ - DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and - { - Names convert_to_process not{ - 2 dict begin - /imageDict xdf - /names_index 0 def - gsave - imageDict write_image_file{ - Names{ - dup(None)ne{ - [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace - Operator imageDict read_image_file - names_index 0 eq{true setoverprint}if - /names_index names_index 1 add def - }{ - pop - }ifelse - }forall - close_image_file - }if - grestore - end - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - /Adobe_AGM_OnHost_Seps where{ - pop imagemask - }{ - currentgray 1 ne{ - currentdict imageormask_sys - }{ - currentoverprint not{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }ifelse - }{ - BitsPerComponent ImageMatrix - MultipleDataSources{ - 0 1 NComponents 1 sub{ - DataSource exch get - }for - }{ - /DataSource load - }ifelse - Operator/colorimage eq{ - AGMCORE_host_sep{ - MultipleDataSources level2 or NComponents 4 eq and{ - AGMCORE_is_cmyk_sep{ - MultipleDataSources{ - /DataSource[ - DataSource 0 get/exec cvx - DataSource 1 get/exec cvx - DataSource 2 get/exec cvx - DataSource 3 get/exec cvx - /AGMCORE_get_ink_data cvx - ]cvx def - }{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - /DataSource load - filter_cmyk 0()/SubFileDecode filter def - }ifelse - /Decode[Decode 0 get Decode 1 get]def - /MultipleDataSources false def - /NComponents 1 def - /Operator/image def - invert_image_samples - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }{ - MultipleDataSources NComponents AGMIMG_&colorimage - }ifelse - }{ - true NComponents colorimage - }ifelse - }{ - Operator/image eq{ - AGMCORE_host_sep{ - /DoImage true def - currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse - { - AGMCORE_black_plate not Operator/imagemask ne and{ - /DoImage false def - currentdict ignoreimagedata - }if - }if - 1 AGMCORE_&setgray - DoImage - {currentdict imageormask_sys}if - }{ - use_mask{ - process_mask image - }{ - image - }ifelse - }ifelse - }{ - Operator/knockout eq{ - pop pop pop pop pop - currentcolorspace overprint_plate not{ - knockout_unitsq - }if - }if - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/sep_imageormask -{ - /sep_colorspace_dict AGMCORE_gget begin - CSA map_csa - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_avoid_L2_sep_space{ - /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def - }if - AGMIMG_ccimage_exists - MappedCSA 0 get/DeviceCMYK eq and - currentdict/Components known and - Name()ne and - Name(All)ne and - Operator/image eq and - AGMCORE_producing_seps not and - level2 not and - { - Width Height BitsPerComponent ImageMatrix - [ - /DataSource load/exec cvx - { - 0 1 2 index length 1 sub{ - 1 index exch - 2 copy get 255 xor put - }for - }/exec cvx - ]cvx bind - MappedCSA 0 get/DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Name findcmykcustomcolor - customcolorimage - }{ - AGMCORE_producing_seps not{ - level2{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ - [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentdict imageormask - }{ - currentdict - Operator/imagemask eq{ - imageormask - }{ - sep_imageormask_lev1 - }ifelse - }ifelse - }{ - AGMCORE_host_sep{ - Operator/knockout eq{ - currentdict/ImageMatrix get concat - knockout_unitsq - }{ - currentgray 1 ne{ - AGMCORE_is_cmyk_sep Name(All)ne and{ - level2{ - Name AGMCORE_IsSeparationAProcessColor - { - Operator/imagemask eq{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor - }if - }{ - invert_image_samples - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - [/Separation Name[/DeviceGray] - { - sep_colorspace_proc AGMCORE_get_ink_data - 1 exch sub - }bind - ]AGMCORE_&setcolorspace - /sep_tint AGMCORE_gget AGMCORE_&setcolor - }if - }ifelse - currentdict imageormask_sys - }{ - currentdict - Operator/imagemask eq{ - imageormask_sys - }{ - sep_image_lev1_sep - }ifelse - }ifelse - }{ - Operator/imagemask ne{ - invert_image_samples - }if - currentdict imageormask_sys - }ifelse - }{ - currentoverprint not Name(All)eq or Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - currentcolorspace 0 get/Separation ne{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - }if - currentoverprint - MappedCSA 0 get/DeviceCMYK eq and - Name AGMCORE_IsSeparationAProcessColor not and - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse - Name(All)ne and{ - imageormask_l2_overprint - }{ - currentdict imageormask - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end -}def -/colorSpaceElemCnt -{ - mark currentcolor counttomark dup 2 add 1 roll cleartomark -}bdf -/devn_sep_datasource -{ - 1 dict begin - /dataSource xdf - [ - 0 1 dataSource length 1 sub{ - dup currentdict/dataSource get/exch cvx/get cvx/exec cvx - /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx - }for - ]cvx bind - end -}bdf -/devn_alt_datasource -{ - 11 dict begin - /convProc xdf - /origcolorSpaceElemCnt xdf - /origMultipleDataSources xdf - /origBitsPerComponent xdf - /origDecode xdf - /origDataSource xdf - /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def - /DataSource origMultipleDataSources - { - [ - BitsPerComponent 8 idiv origDecode length 2 idiv mul string - 0 1 origDecode length 2 idiv 1 sub - { - dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch - origDataSource exch get 0()/SubFileDecode filter - BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx - }for - ]bind cvx - }{origDataSource}ifelse 0()/SubFileDecode filter def - [ - origcolorSpaceElemCnt string - 0 2 origDecode length 2 sub - { - dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div - 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx - }for - /convProc load/exec cvx - origcolorSpaceElemCnt 1 sub -1 0 - { - /dup cvx 2/add cvx/index cvx - 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx - }for - ]bind cvx 0()/SubFileDecode filter - end -}bdf -/devn_imageormask -{ - /devicen_colorspace_dict AGMCORE_gget begin - CSA map_csa - 2 dict begin - dup - /srcDataStrs[3 -1 roll begin - AGMIMG_init_common - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi - { - dup 65535 gt{1 add 2 div cvi}{exit}ifelse - }loop - string - }repeat - end]def - /dstDataStr srcDataStrs 0 get length string def - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_producing_seps not{ - level3 not{ - Operator/imagemask ne{ - /DataSource[[ - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def - /MultipleDataSources true def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - }if - }if - currentdict imageormask - }{ - AGMCORE_host_sep{ - Names convert_to_process{ - CSA get_csa_by_name 0 get/DeviceCMYK eq{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - filter_cmyk 0()/SubFileDecode filter def - /MultipleDataSources false def - /Decode[1 0]def - /DeviceGray setcolorspace - currentdict imageormask_sys - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate{ - /DataSource - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - /MultipleDataSources false def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - currentdict imageormask_sys - }{ - gsave - knockout_unitsq - grestore - currentdict consumeimagedata - }ifelse - }ifelse - } - { - /devicen_colorspace_dict AGMCORE_gget/names_index known{ - Operator/imagemask ne{ - MultipleDataSources{ - /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def - /MultipleDataSources false def - }{ - /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def - }ifelse - invert_image_samples - }if - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - currentdict imageormask - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end - end -}def -/imageormask_l2_overprint -{ - currentdict - currentcmykcolor add add add 0 eq{ - currentdict consumeimagedata - }{ - level3{ - currentcmykcolor - /AGMIMG_k xdf - /AGMIMG_y xdf - /AGMIMG_m xdf - /AGMIMG_c xdf - Operator/imagemask eq{ - [/DeviceN[ - AGMIMG_c 0 ne{/Cyan}if - AGMIMG_m 0 ne{/Magenta}if - AGMIMG_y 0 ne{/Yellow}if - AGMIMG_k 0 ne{/Black}if - ]/DeviceCMYK{}]setcolorspace - AGMIMG_c 0 ne{AGMIMG_c}if - AGMIMG_m 0 ne{AGMIMG_m}if - AGMIMG_y 0 ne{AGMIMG_y}if - AGMIMG_k 0 ne{AGMIMG_k}if - setcolor - }{ - /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def - [/Indexed - [ - /DeviceN[ - AGMIMG_c 0 ne{/Cyan}if - AGMIMG_m 0 ne{/Magenta}if - AGMIMG_y 0 ne{/Yellow}if - AGMIMG_k 0 ne{/Black}if - ] - /DeviceCMYK{ - AGMIMG_k 0 eq{0}if - AGMIMG_y 0 eq{0 exch}if - AGMIMG_m 0 eq{0 3 1 roll}if - AGMIMG_c 0 eq{0 4 1 roll}if - } - ] - 255 - { - 255 div - mark exch - dup dup dup - AGMIMG_k 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_y 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_m 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_c 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - counttomark 1 add -1 roll pop - } - ]setcolorspace - }ifelse - imageormask_sys - }{ - write_image_file{ - currentcmykcolor - 0 ne{ - [/Separation/Black/DeviceGray{}]setcolorspace - gsave - /Black - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Yellow/DeviceGray{}]setcolorspace - gsave - /Yellow - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Magenta/DeviceGray{}]setcolorspace - gsave - /Magenta - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Cyan/DeviceGray{}]setcolorspace - gsave - /Cyan - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - close_image_file - }{ - imageormask - }ifelse - }ifelse - }ifelse -}def -/indexed_imageormask -{ - begin - AGMIMG_init_common - save mark - currentdict - AGMCORE_host_sep{ - Operator/knockout eq{ - /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ - /CSA get get_csa_by_name - }{ - /Names get - }ifelse - overprint_plate not{ - knockout_unitsq - }if - }{ - Indexed_DeviceN{ - /devicen_colorspace_dict AGMCORE_gget/names_index known{ - indexed_image_lev2_sep - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }{ - AGMCORE_is_cmyk_sep{ - Operator/imagemask eq{ - imageormask_sys - }{ - level2{ - indexed_image_lev2_sep - }{ - indexed_image_lev1_sep - }ifelse - }ifelse - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - level2{ - Indexed_DeviceN{ - /indexed_colorspace_dict AGMCORE_gget begin - }{ - /indexed_colorspace_dict AGMCORE_gget dup null ne - { - begin - currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse - get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and - AGMCORE_in_rip_sep and{ - [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] - setcolorspace - }if - end - } - {pop}ifelse - }ifelse - imageormask - Indexed_DeviceN{ - end - }if - }{ - Operator/imagemask eq{ - imageormask - }{ - indexed_imageormask_lev1 - }ifelse - }ifelse - }ifelse - cleartomark restore - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/indexed_image_lev2_sep -{ - /indexed_colorspace_dict AGMCORE_gget begin - begin - Indexed_DeviceN not{ - currentcolorspace - dup 1/DeviceGray put - dup 3 - currentcolorspace 2 get 1 add string - 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub - { - dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put - }for - put setcolorspace - }if - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }ifelse - end end -}def - /OPIimage - { - dup type/dicttype ne{ - 10 dict begin - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /ImageType 1 def - /Decode[0 1 def] - currentdict - end - }if - dup begin - /NComponents 1 cdndf - /MultipleDataSources false cdndf - /SkipImageProc{false}cdndf - /Decode[ - 0 - currentcolorspace 0 get/Indexed eq{ - 2 BitsPerComponent exp 1 sub - }{ - 1 - }ifelse - ]cdndf - /Operator/image cdndf - end - /sep_colorspace_dict AGMCORE_gget null eq{ - imageormask - }{ - gsave - dup begin invert_image_samples end - sep_imageormask - grestore - }ifelse - }def -/cachemask_level2 -{ - 3 dict begin - /LZWEncode filter/WriteFilter xdf - /readBuffer 256 string def - /ReadFilter - currentfile - 0(%EndMask)/SubFileDecode filter - /ASCII85Decode filter - /RunLengthDecode filter - def - { - ReadFilter readBuffer readstring exch - WriteFilter exch writestring - not{exit}if - }loop - WriteFilter closefile - end -}def -/spot_alias -{ - /mapto_sep_imageormask - { - dup type/dicttype ne{ - 12 dict begin - /ImageType 1 def - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /MultipleDataSources false def - }{ - begin - }ifelse - /Decode[/customcolor_tint AGMCORE_gget 0]def - /Operator/image def - /SkipImageProc{false}def - currentdict - end - sep_imageormask - }bdf - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_colorAry xddf - /customcolor_tint AGMCORE_gget - << - /Name AGMIMG_colorAry 4 get - /CSA[/DeviceCMYK] - /TintMethod/Subtractive - /TintProc null - /MappedCSA null - /NComponents 4 - /Components[AGMIMG_colorAry aload pop pop] - >> - setsepcolorspace - mapto_sep_imageormask - }ndf - Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_override false put - current_spot_alias{dup 4 get map_alias}{false}ifelse - { - false set_spot_alias - /customcolor_tint AGMCORE_gget exch setsepcolorspace - pop - mapto_sep_imageormask - true set_spot_alias - }{ - AGMIMG_&customcolorimage - }ifelse - }bdf -}def -/snap_to_device -{ - 6 dict begin - matrix currentmatrix - dup 0 get 0 eq 1 index 3 get 0 eq and - 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop - { - 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def - 0 0 transform - AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - itransform/AGMIMG_llY exch def/AGMIMG_llX exch def - 1 1 transform - AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - itransform/AGMIMG_urY exch def/AGMIMG_urX exch def - [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat - }{ - }ifelse - end -}def -level2 not{ - /colorbuf - { - 0 1 2 index length 1 sub{ - dup 2 index exch get - 255 exch sub - 2 index - 3 1 roll - put - }for - }def - /tint_image_to_color - { - begin - Width Height BitsPerComponent ImageMatrix - /DataSource load - end - Adobe_AGM_Image begin - /AGMIMG_mbuf 0 string def - /AGMIMG_ybuf 0 string def - /AGMIMG_kbuf 0 string def - { - colorbuf dup length AGMIMG_mbuf length ne - { - dup length dup dup - /AGMIMG_mbuf exch string def - /AGMIMG_ybuf exch string def - /AGMIMG_kbuf exch string def - }if - dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop - } - addprocs - {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage - end - }def - /sep_imageormask_lev1 - { - begin - MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ - { - 255 mul round cvi GrayLookup exch get - }currenttransfer addprocs settransfer - currentdict imageormask - }{ - /sep_colorspace_dict AGMCORE_gget/Components known{ - MappedCSA 0 get/DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ - {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer - currentdict imageormask - }{ - currentcolortransfer - {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }{ - MappedCSA 0 get/DeviceGray eq{ - {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer - currentdict imageormask - }{ - MappedCSA 0 get/DeviceCMYK eq{ - currentcolortransfer - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }{ - currentcolortransfer - {pop 1}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - /sep_image_lev1_sep - { - begin - /sep_colorspace_dict AGMCORE_gget/Components known{ - Components aload pop - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - {AGMIMG_c mul 1 exch sub} - {AGMIMG_m mul 1 exch sub} - {AGMIMG_y mul 1 exch sub} - {AGMIMG_k mul 1 exch sub} - }{ - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} - }ifelse - AGMCORE_get_ink_data currenttransfer addprocs settransfer - currentdict imageormask_sys - end - }def - /indexed_imageormask_lev1 - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - currentdict - MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ - {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get/DeviceGray eq{ - {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get/DeviceCMYK eq{ - currentcolortransfer - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }{ - currentcolortransfer - {pop 1}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }ifelse - }ifelse - }ifelse - end end - }def - /indexed_image_lev1_sep - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} - AGMCORE_get_ink_data currenttransfer addprocs settransfer - currentdict imageormask_sys - end end - }def -}if end -systemdict/setpacking known -{setpacking}if %%EndResource -currentdict Adobe_AGM_Utils eq {end} if %%EndProlog %%BeginSetup -Adobe_AGM_Utils begin -2 2016 Adobe_AGM_Core/ds gx -Adobe_CoolType_Core/ds get exec -Adobe_AGM_Image/ds gx -[/NamespacePush pdfmark_5 -[/_objdef {Doc_Metadata} /type /stream /OBJ pdfmark_5 -[{Doc_Metadata} (% &end XMP packet& %) ReadBypdfmark_5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -% &end XMP packet& % - -[{Doc_Metadata} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark_5 -[/Document 1 dict begin /Metadata {Doc_Metadata} def currentdict end /BDC pdfmark_5 -[/NamespacePop pdfmark_5 -currentdict Adobe_AGM_Utils eq {end} if -%%EndSetup -%%Page: 20 1 -%%EndPageComments -%%BeginPageSetup -Adobe_AGM_Utils begin -Adobe_AGM_Core/ps gx -Adobe_AGM_Utils/capture_cpd gx -Adobe_CoolType_Core/ps get exec -Adobe_AGM_Image/ps gx -Adobe_AGM_Core/ps gx -gsave -<< /0 -[/CIEBasedABC 20 dict -dup /CreationDate (19980209064900) put -dup /RenderingIntent (RelativeColorimetric) put -dup /Description (sRGB IEC61966-2.1) put -dup /ColorSpace (RGB ) put -dup /Copyright (Copyright (c) 1998 Hewlett-Packard Company) put -dup /ProfileID <1D3FDA2EDB4A89AB60A23C5F7C7D81DD> put -dup /DecodeABC [ -{{0 0.00031 0.00061 0.0009 0.0012 0.00151 0.00181 0.00212 0.00242 0.00271 -0.00302 0.00334 0.00366 0.00401 0.00437 0.00476 0.00515 0.00558 0.00602 0.00648 -0.00696 0.00745 0.00798 0.00852 0.00908 0.00966 0.01027 0.01089 0.01153 0.0122 -0.0129 0.01362 0.01435 0.01511 0.01589 0.0167 0.01752 0.01837 0.01925 0.02015 -0.02107 0.02203 0.02299 0.02399 0.02501 0.02606 0.02713 0.02822 0.02934 0.03049 -0.03166 0.03287 0.03409 0.03533 0.03662 0.03792 0.03925 0.04061 0.04199 0.04341 -0.04484 0.04631 0.04781 0.04933 0.05088 0.05245 0.05406 0.05569 0.05736 0.05904 -0.06077 0.06252 0.0643 0.06611 0.06794 0.06981 0.0717 0.07363 0.07558 0.07756 -0.07959 0.08162 0.0837 0.08581 0.08795 0.09011 0.09231 0.09454 0.0968 0.09909 -0.10142 0.10376 0.10616 0.10857 0.11102 0.11351 0.11602 0.11856 0.12114 0.12376 -0.12639 0.12907 0.13178 0.13452 0.13729 0.14009 0.14294 0.14581 0.14873 0.15166 -0.15463 0.15765 0.16068 0.16376 0.16687 0.17001 0.17319 0.17641 0.17965 0.18293 -0.18625 0.1896 0.19299 0.19641 0.19987 0.20335 0.20688 0.21045 0.21405 0.21767 -0.22134 0.22505 0.22879 0.23257 0.23638 0.24023 0.24411 0.24804 0.25199 0.25599 -0.26002 0.26409 0.2682 0.27234 0.27651 0.28073 0.28499 0.28928 0.29361 0.29798 -0.30238 0.30683 0.3113 0.31582 0.32038 0.32497 0.3296 0.33428 0.33898 0.34372 -0.34851 0.35333 0.3582 0.3631 0.36804 0.37302 0.37804 0.3831 0.38819 0.39333 -0.3985 0.40372 0.40898 0.41427 0.41961 0.42498 0.43039 0.43585 0.44134 0.44688 -0.45245 0.45806 0.46372 0.46942 0.47516 0.48094 0.48675 0.49261 0.49851 0.50445 -0.51043 0.51646 0.52253 0.52863 0.53477 0.54097 0.54719 0.55347 0.55979 0.56613 -0.57253 0.57897 0.58545 0.59198 0.59855 0.60515 0.6118 0.61849 0.62524 0.63201 -0.63884 0.6457 0.6526 0.65955 0.66654 0.67357 0.68066 0.68778 0.69495 0.70215 -0.7094 0.71669 0.72404 0.73142 0.73885 0.74632 0.75383 0.76138 0.76899 0.77663 -0.78433 0.79206 0.79983 0.80765 0.81552 0.82343 0.83139 0.8394 0.84744 0.85554 -0.86367 0.87185 0.88007 0.88835 0.89666 0.90503 0.91343 0.92189 0.93038 0.93892 -0.94751 0.95614 0.96482 0.97355 0.98232 0.99114 1} -dup 3 -1 roll 0 1 3 copy 3 -1 roll exch ge -{pop pop pop pop pop 256 get} -{pop 3 copy pop le {pop pop pop pop 0 get} -{exch dup 4 -1 roll exch sub 3 1 roll sub div 256 mul dup -floor dup 3 1 roll sub exch cvi dup 1 add 4 -1 roll exch -get 4 -1 roll 3 -1 roll get dup 4 1 roll sub mul add} -ifelse} ifelse -} bind -dup -dup -] put -dup /MatrixABC [ -0.2180189128 0.1112492942 0.0069565698 -0.1925612492 0.358452993 0.0485281768 -0.0715286348 0.0303053423 0.3569742448 -] put -dup /MatrixLMN [1.9999694824 0 0 0 1.9999694824 0 0 0 1.9999694824] put -dup /BlackPoint [0 0 0] put -dup /WhitePoint [0.9642028809 1 0.8249053955] put] - -/CSA add_res -/CSA /0 get_csa_by_name -/Intent /RelativeColorimetric ->> csacrd -grestore -Adobe_AGM_Core/pt gx -%%EndPageSetup -1 -1 scale 0 -144 translate -pgsv -[1 0 0 1 0 0 ]ct -gsave -np -gsave -0 0 mo -0 144 li -144 144 li -144 0 li -cp -clp -[1 0 0 1 0 0 ]ct -false sop -<< /CSA /0 get_csa_by_name -/Intent /RelativeColorimetric ->> csacrd -0 0 1 colr -true set_gvm -%ADOBeginSubsetFont: PBAAAA+MiniPics-LilDinos Initial -%ADOt1write: (1.0.24) -%%Copyright: Copyright 2006 Adobe System Incorporated. All rights reserved. -13 dict dup begin +xpdf begin +%%BeginResource: font SABECZ+MiniPics-LilDinos +16 dict begin +/FontName /SABECZ+MiniPics-LilDinos_00 def /FontType 1 def -/FontName /PBAAAA+MiniPics-LilDinos def -/FontInfo 8 dict dup begin -/Notice (Copyright 1995 Image Club Graphics, Inc.) def -/Weight (LilDinos) def -/ItalicAngle 0 def -/BaseFontName (MiniPics-LilDinos) def -/WasEmbedded true def -end def -/PaintType 0 def /FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox [-3 -146 1669 911] def +/PaintType 0 def /Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 106 /j put -def -/UniqueID 5003517 def -/FontBBox {-3 -146 1669 911} def -end -systemdict begin -dup /Private -10 dict dup begin -/|- {def} def -/| {put} def -/BlueValues [-34 -0 810 845 -32768 -32768 -32768 -32768] def -/BlueScale 0.363636 def -/StdHW [28] def -/StdVW [30] def -/password 5839 def -/MinFeature {16 16} def -/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 -systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup -/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def -/Subrs 5 array -dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | -dup 1 <1C60D8A8C9C3D06D9E> | -dup 2 <1C60D8A8C9C202D79A> | -dup 3 <1C60D8A849> | -dup 4 <1C60D8A8CC3674F41144B13B77> | -def -put -dup /CharStrings -2 dict dup begin -/j <1C60D8A8C9B08A95192E7260F15BC118362AFF917C956DBD0E01F8965E63 -60F12E7C1DB65DFBE59AD0ECF13C9B3B4C121A5077596B7A5E14D31E9D0ACB0A -E489B21605CA960949A54B04B509024CAFD07EFE260BFFB039E246F761CF739B -9E01C7965497E828C831BDB7C679E0F4E549F7234559134575DB9F3369111E6B -AA585318C7E9A1ED2D88C1A6B8427DFBAD42C3EC8F8698A478DE01E1F8DC7BEF -CBED3D33289730069EBE154EFE91BF3518F69531077958C31BC287D7FE12BE02 -FC472DEE4035C594A1C4A38135E175BCF38E5EF798A0023D178BE0483CFC8217 -14CC26599941C9FE3FE287652E3BB5852AC9574409B6E1B078CA26BB7A1E931D -F674A7641ED552E669C03E3181533CDFD37708493D1DE2A664F5D9484BBFA8A4 -DF18B92417E101F196B3907EE4D3ED40CE62CBB45A620A5A57BDE4A3F2FDB9F2 -E59BF09B8475EDE6E0A5C0C22C039CE84ED6F391C9077252399DB3351E543944 -9363A7464ADB0F045258045752625CC012FFB41600EA33E9DF3658CDDD1FE776 -A2AF23383F5B1A13CFC59C2C1AC01A4556FB604D45EA9FE66FC9C057082433E6 -EBE2C7CE1F33F949529124A2D49B7C6A6FDAAE870291FD787EDB13B088C6D989 -697356EF7A6B57DAA51891E72190FE3EF4E94F6DA5DCF65CB91E5B9C4FDA7434 -7DF2A8AD3AF6F892E4FC19C71F4136FE3E2A0F43D490D85E98BAE6EB2CA622EB -1D413F3A43A8455C96E80D09ABB88C724836EF9D86A6487F9ABB6DD747BC36D8 -553D297E15A88764E3DD265F08E248FF99757475EF7EC3BA4562B00E505E5A8B -88562E836908B8F83DF00116E6D6492EBCBE2790890A06750A398B72CC17306F -FF7DCAB7E04D9D9DA97FED2A842C30B5FE438B9990B20364EC34741C0D067986 -056EE4987711511682166D69EDEA12FA2FFEFA51548912EBE94343842E4127A9 -2BA22B253F1EFA01563DDCF70A8A60D2FC363A92AB36DE88A391681AE55627A4 -1092D406E1DC7F85C179F5CFA1AF88E80CB5CA613A2BDF6A845A7D6D76578A18 -B443963113132FAD01079B1B15255895F7B697C9563CDE7715655366A733B829 -9AE49D062AACC8AE2772EB8B46296D505B13AFF3DB9C529C957643A4AA25E5E5 -A77D622F5C07ADD406FF1AA2CD21B92E9D240C397FFC7CA3A5DFE5CCD6C1F941 -22D876D2B32017521BAAA0FAA367191EA2CDD496411AE8AB6686E9DDC6AAA955 -D74C99D28E858CACBB195722A2F9B1C87A050D71F5C1F06BAD1D2161A637CAC9 -86C90563A467DED9DBB90E58613593BB7052A582DC9BEAFE175B46F6B09D91C2 -44247AB281ECFF966BE01490AAF6AB72E48A01B89BF09097702C78C3924DE8BD -382834C100253D876CD8CFAB55F091ED66522F78BD23228F11F90B336DE29330 -F74CA5D6021111D58E2F6CD07A617DF33754C42754239FBBA2EAD01075107437 -3EAA24B6AB22D903A1EBF17AF2B0EFC6FD30FCD2608C> |- -/.notdef <1C60D8A8C9B5EE31F4> |- -end put -end -dup /FontName get exch definefont pop -end -%ADOEndSubsetFont -reset_gvm -/TOGVVV+MiniPics-LilDinos /PBAAAA+MiniPics-LilDinos findfont ct_VMDictPut -/TOGVVV+MiniPics-LilDinos*1 -[106{/.notdef}rp /j 149{/.notdef}rp] -TOGVVV+MiniPics-LilDinos nf -TOGVVV+MiniPics-LilDinos*1 [72 0 0 -72 0 0 ]msf -17.1 98.748 mo -(j)sh -grestore -grestore -pgrs +dup 0 /c00 put +dup 1 /c01 put +dup 2 /c02 put +dup 3 /c03 put +dup 4 /c04 put +dup 5 /c05 put +dup 6 /c06 put +dup 7 /c07 put +dup 8 /c08 put +dup 9 /c09 put +dup 10 /c0a put +dup 11 /c0b put +dup 12 /c0c put +dup 13 /c0d put +dup 14 /c0e put +dup 15 /c0f put +dup 16 /c10 put +dup 17 /c11 put +dup 18 /c12 put +dup 19 /c13 put +dup 20 /c14 put +dup 21 /c15 put +dup 22 /c16 put +dup 23 /c17 put +dup 24 /c18 put +dup 25 /c19 put +dup 26 /c1a put +dup 27 /c1b put +dup 28 /c1c put +dup 29 /c1d put +dup 30 /c1e put +dup 31 /c1f put +dup 32 /c20 put +dup 33 /c21 put +dup 34 /c22 put +dup 35 /c23 put +dup 36 /c24 put +dup 37 /c25 put +dup 38 /c26 put +dup 39 /c27 put +dup 40 /c28 put +dup 41 /c29 put +dup 42 /c2a put +dup 43 /c2b put +dup 44 /c2c put +dup 45 /c2d put +dup 46 /c2e put +dup 47 /c2f put +dup 48 /c30 put +dup 49 /c31 put +dup 50 /c32 put +dup 51 /c33 put +dup 52 /c34 put +dup 53 /c35 put +dup 54 /c36 put +dup 55 /c37 put +dup 56 /c38 put +dup 57 /c39 put +dup 58 /c3a put +dup 59 /c3b put +dup 60 /c3c put +dup 61 /c3d put +dup 62 /c3e put +dup 63 /c3f put +dup 64 /c40 put +dup 65 /c41 put +dup 66 /c42 put +67 1 255 { 1 index exch /.notdef put } for +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE2851CFA210EE +7BD5FCB1AAE15E89D1FB339D587D218B89C18A32F47C7451A80CB1FC07CF5EF7 +A39E2D8CF4DF22D482184929E64F8F866365ABF670AAEF259A5E77B9EBFD9E3F +21F5892A42942F7AF70BA59F0C20692F36941421042088E696D35DC13C5585E8 +A5D68273C4FE5C8CC57A5B24276982432AA2537E780EB9050F44FFADFF055DBD +6C9015D683689AB7F7CB085885C3C9AA9840672054198CEE2A27C759B3FB4121 +3923BBCA58889F907B8BDAD76B298025B8BE2AD04853F09710AF9BA31C670D5C +109A9867A143880260CEA44C5BF9E54572E73D04188BBA4D761E6FD0A730DC3F +3BFD4E24BF6BFCF790F00A4AC094DF8B91BE5F24DE46B5A4A77F6191F76E78AA +DCFA067828B3858C775045E498323D8B4FB1CB8716DA348597019C21E920FA77 +222296C92271564B1AC9CCEA9FED951C68E81819EAEDFCDD434C695594C983A7 +D431FDA4CFA9349F4694801A97D3CCDC906644A10EFB4E2BE165EB46553F6179 +2108EB7EB978B395684E967C6D2F5D5EB931722FDE908C261CFD2AD2E4520FBB +5571315FCE8FC65DE417E239600E5AD2A51BDC18978C8DEA34147142FA34DE5D +DA00AB5BAA49D34D5C42339A71803A4BF4F86475953752667FEE980A4E265384 +D635212938B4252C204850CDCD2A799C94248FD75F73DD165B05F199DEF2AA09 +651A5EC02DCB03B8FD46524B4FB17E26076B82C0E44E87D755AC8F50C6156800 +AF207E2405035C3B2C5859B2AE0902ED9C80AFADF54E1AE03BF189418FD58E44 +133B98B35EB33E81B40F1640608BF69161E90101ACBD88CC994E7DAE39CF8881 +9D36C3EE5351715DF386F0A8C5546402DDAEC888E7AFCA8ABEA1E387D0BED8DE +47D2C07CD24604EA52912D5B0256E0DA03CD978205C4C7A06BD376947FE80ADF +3E273C4593EE2744C22ED9BB5F702ACD4406B7FA8390A379216C53DA061F24AF +47C4D20E5C2FB6BC61A987FF8B92295EE01061CC0A72AC66BC56D3F7DB398888 +44AB3D946BC831BC6E8AC66C96F5AEAC7CEED2004B7E6E49D69858EF260E65DF +F5CEF6FCEE031A19D4511BC3A8BD7B562DC0F341DE10D57CC63DD93DFB41E7BF +A222301079BD908780A7CCE57CCD8C038860BB2E7ABD6D15753D48FB4DF87B03 +F17643BE33F480B4B6C397A638AABADA29CDBF936C98EDBE9BAEAF276DE158BA +D318215ECEA0C68553DEF9A7920AD6BBDFFDE26216548CAE9AD27250714DCF6F +BD86A9949E90CBCCF87A478AD8944BB6A8A5A3457449ACF2A43C5EED362753A4 +7890C59A6FA94893145458FE6D5265053689EB89DCEA31E87BB3A4DE1FB31CE3 +92F980211F3BD35544C05295920F99753F875FB790D7204760763EE829AB6AD4 +DC9B034514E557A6EA0D08CFA7137E8AFEF595371B8B6A2F35D0E164C21DD8C0 +BF5C40B8C3A048E3CB4F5B49D02BAE469C803A41D194BE78E40091D61E75DD77 +2F92DCA8F51510782CA3A9744F800D253A6140FA09CB08253C6171811684C051 +75FF1DEB943BC7EA2618D361BA7BA500F7E50D88FCD4DB19F62582920E7669CA +51362233951D5D02DDC0FF85D8BE39788D11B567F530A59051A695B1FA4C2F7E +57EB9ACA449A9357EEEF9D28C8895EF0AB4A0121636874460316AF7742D8C057 +C771F1C263244908498F7DA2E921912F51DC85B7865AF5F212EC7570 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +16 dict begin +/FontName /SABECZ+MiniPics-LilDinos def +/FontType 0 def +/FontMatrix [1 0 0 1 0 0] def +/FMapType 2 def +/Encoding [ +0 +] def +/FDepVector [ +/SABECZ+MiniPics-LilDinos_00 findfont +] def +FontName currentdict end definefont pop +%%EndResource +/F5_0 /SABECZ+MiniPics-LilDinos 0 pdfMakeFont16 +%%EndSetup +pdfStartPage +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 144 144 re +W +q +q +[1 0 0 1 72 72] cm +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceRGB {} CS +[1 0 0] SC +/DeviceRGB {} cs +[1 0 0] sc +[1 0 0 1 0 0] Tm +0 0 Td +-53.834 -28.226 Td +/F5_0 71.731 Tf +(\000B) +[107.668231 +0] Tj +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +/DeviceGray {} cs +[0] sc +Q +Q +showpage %%PageTrailer -[ -[/CSA [/0 ]] -] del_res -Adobe_AGM_Image/pt gx -Adobe_CoolType_Core/pt get exec -Adobe_AGM_Core/pt gx -currentdict Adobe_AGM_Utils eq {end} if +pdfEndPage %%Trailer -Adobe_AGM_Utils begin -[/EMC pdfmark_5 -currentdict Adobe_AGM_Utils eq {end} if -Adobe_AGM_Image/dt get exec -Adobe_CoolType_Core/dt get exec -Adobe_AGM_Core/dt get exec -%%Pages: 1 -%%DocumentNeededResources: -%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 -%%+ procset Adobe_CoolType_Utility_T42 1.0 0 -%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%+ procset Adobe_CoolType_Core 2.29 0 -%%+ procset Adobe_AGM_Core 2.0 0 -%%+ procset Adobe_AGM_Utils 1.0 0 -%%DocumentNeededFeatures: -%%DocumentSuppliedFeatures: -%%DocumentCustomColors: -%%CMYKCustomColor: -%%RGBCustomColor: +end +%%DocumentSuppliedResources: +%%+ font SABECZ+MiniPics-LilDinos %%EOF diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf index 699dcef6..33063194 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.tex b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.tex deleted file mode 100644 index 4d267631..00000000 --- a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.tex +++ /dev/null @@ -1,43 +0,0 @@ -\documentclass{article} -\usepackage{web} -\usepackage{multido} - -\margins{0pt}{0pt}{0pt}{0pt} % left,right,top, bottom -\screensize{2in}{2in} % height, width - -\font\MPLD=MPLD at 1in - -\pagestyle{empty} -\parindent0pt - -\newcount\myCnt \myCnt=97 -\def\thiscolor{red} - -\begin{document} -\MPLD -\multido{\i=1+1}{10}{% - \begin{minipage}[c][2in][c]{2in} - \ifodd\i\gdef\thiscolor{red}\else\gdef\thiscolor{blue}\fi - \begin{center} - \textcolor{\thiscolor}{\char\the\myCnt}% - \end{center} - \end{minipage} - \global\advance\myCnt1\relax -} -\end{document} - -To save each page to the same folder that your icon file is sitting, execute -the following JavaScript with the icon PDF open in Acrobat. - -var thisPath = /.*\//i.exec(this.path)[0]; -var filename = this.documentFileName.replace(/\.pdf$/i,""); -try { - for (var i = 0; i < this.numPages; i++) { - var j = i+1; - var index = (j < 10 ) ? ("0"+j) : (""+j); - this.extractPages({ - nStart: i, - cPath: thisPath+filename+"_" + index +".pdf" - }); - } -} catch (e) { console.println("Aborted: " + e) } diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_01.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_01.pdf index fdbe97bc..33063194 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_01.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_01.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_02.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_02.pdf index 5bdae18b..9e480395 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_02.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_02.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_03.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_03.pdf index 598d9d0e..bfbbc068 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_03.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_03.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_04.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_04.pdf index 8d7afb29..8cdafb4c 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_04.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_04.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_05.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_05.pdf index 8c5cc36a..851b84e1 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_05.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_05.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_06.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_06.pdf index b0ddb829..0412cf28 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_06.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_06.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_07.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_07.pdf index 3d9aae48..ed9163d0 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_07.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_07.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_08.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_08.pdf index 4ba868d9..d37a2a76 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_08.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_08.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_09.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_09.pdf index 9b6eb439..c2a5675c 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_09.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_09.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_10.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_10.pdf index e528255e..1a637e96 100644 Binary files a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_10.pdf and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_10.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.pdf new file mode 100644 index 00000000..2ea70d57 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.tex b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.tex new file mode 100644 index 00000000..427b0dfd --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_files.tex @@ -0,0 +1,71 @@ +% This files needs to be compiled with lualatex or xelatex. In the case of +% MiniPics-LilDino, a type1 font, xelatex works, but lualatex does not. +\documentclass{article} +\usepackage{multido} +\usepackage{shellesc} + +\newcommand\amBaseName{myDinos} + +\pagestyle{empty} +\parindent0pt + +\newcount\myCnt \myCnt=97 +\def\thiscolor{red} + +\begin{document} + +\newwrite \wrtfiles +\long\def\IR#1{\immediate\write\wrtfiles{#1}} + +% Create \amBaseName_01.tex, \amBaseName_02.tex, etc +\multido{\i=1+1}{10}{% +\ifnum\i<10\relax\edef\x{0\i}\else\edef\x{\i}\fi +\immediate\openout\wrtfiles \amBaseName_\x.tex +\ifodd\i\string\relax + \gdef\thiscolor{red}\else + \gdef\thiscolor{blue}\fi +\IR{% +\string\documentclass{article}^^J% +\string\usepackage{web}^^J% +\string\usepackage{multido}^^J% +\string\usepackage{fontspec}^^J% +\string\usepackage{anyfontsize}^^J% +\string\setmainfont[Mapping=tex-text]{MiniPics-LilDinos}^^J% +\string\let\string\WriteBookmarks\string\relax^^J% +\string\margins{0pt}{0pt}{0pt}{0pt}^^J% +\string\screensize{2in}{2in}^^J% +\string\pagestyle{empty}^^J% +\string\parindent0pt^^J% +\string\begin{document}^^J% + \string\fontsize{72}{72}\string\selectfont^^J% + \string\begin{minipage}[c][2in][c]{2in}^^J% + \string\begin{center}^^J% + \string\textcolor{\thiscolor}{\string\char\the\myCnt}^^J% + \string\end{center}^^J% + \string\end{minipage}^^J% +\string\end{document} +} + \immediate\closeout\wrtfiles + \global\advance\myCnt1\relax +} + +% Now compile each of this TEX file using xelatex. Use +% xelatex here because it successfully uses the MiniPics-LilDinos +% font. For a different font, perhaps lualatex can be use. +\multido{\i=1+1}{10}{% + \ifnum\i<10\relax\edef\x{0\i}\else\edef\x{\i}\fi + \ShellEscape{xelatex \amBaseName_\x.tex} +} + +% Copy \amBaseName_01.pdf to \amBaseName.pdf, it will be use +% to measure the size of a typical tile. +\ShellEscape{copy \amBaseName_01.pdf \amBaseName.pdf} + +% Convert \amBaseName_01.pdf to \amBaseName.eps, it will be used +% to measure the size of a typical tile for the dvips -> distiller workflow. +\ShellEscape{pdftops -eps \amBaseName_01.pdf \amBaseName.eps} + +See separate files just created. + +\end{document} + diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.pdf new file mode 100644 index 00000000..c4c64829 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.tex b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.tex new file mode 100644 index 00000000..4035efd1 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_package.tex @@ -0,0 +1,31 @@ +\documentclass{article} +\usepackage{web} +\usepackage{multido} +\usepackage{fontspec} +\usepackage{anyfontsize} +\setmainfont[Mapping=tex-text]{MiniPics-LilDinos} + + +\margins{0pt}{0pt}{0pt}{0pt} % left,right,top, bottom +\screensize{2in}{2in} % height, width + +\pagestyle{empty} +\parindent0pt + +\newcount\myCnt \myCnt=97 +\def\thiscolor{red} + +\begin{document} + +\fontsize{72}{72}\selectfont + +\multido{\i=1+1}{10}{% + \begin{minipage}[c][2in][c]{2in} + \ifodd\i\gdef\thiscolor{red}\else\gdef\thiscolor{blue}\fi + \begin{center} + \textcolor{\thiscolor}{\char\the\myCnt}% + \end{center} + \end{minipage} + \global\advance\myCnt1\relax +} +\end{document} diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps deleted file mode 100644 index 07794d48..00000000 --- a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps +++ /dev/null @@ -1,6467 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: (dpsweb.pdf) -%%Version: 1 4 -%%Creator: Adobe Acrobat 7.0 -%%CreationDate: 02:04:31 11/07/06 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%ADO_ContainsXMP: MainFirst -%%BoundingBox: 0 0 612 504 -%%HiResBoundingBox: 0.0 0.0 612.0 504.0 -%%Pages: 0 -%%DocumentProcessColors: Black -%%DocumentSuppliedResources: -%%+ procset (Adobe Acrobat - PDF operators) 1.2 0 -%%+ procset (Adobe Acrobat - general image support) 1.2 0 -%%+ procset (Adobe Acrobat - monochrome image support) 1.2 0 -%%+ procset (Adobe Acrobat - color image support) 1.2 0 -%%+ procset (Adobe Acrobat - indexed color image support) 1.2 0 -%%EndComments -%%BeginProlog -%%EndProlog -%%BeginSetup -%ADOPrintSettings: L2 W0 VM op crd os scsa T h ef bg ucr sf ef r b fa pr seps ttf hb EF t2 irt Drucker-/PostScript-Farbmanagement 0 - %%BeginResource: procset l2check 6.0 1 -%%Copyright: Copyright 1993,2001 Adobe Systems Incorporated. All Rights Reserved. -systemdict /languagelevel known -{ systemdict /languagelevel get 1 eq } -{ true } -ifelse -{ -initgraphics /Helvetica findfont 18 scalefont setfont -72 600 moveto (Error: This application does not support) dup show -72 580 moveto (printing to a PostScript Language Level 1 printer.) dup show -exch = = -/Times-Roman findfont 16 scalefont setfont -72 500 moveto (As a workaround, try selecting Print As Image from) show -72 480 moveto (the Advanced Print dialog.) show -showpage -quit -} -if -%%EndResource -/currentpacking where{pop currentpacking true setpacking}if -%%BeginResource: procset pdfvars 6.0 1 -%%Copyright: Copyright 1987-2002 Adobe Systems Incorporated. All Rights Reserved. -%%Title: definition of dictionary of variables used by PDF & PDFText procsets -userdict /PDF 162 dict put -userdict /PDFVars 89 dict dup begin put -/docSetupDone false def -/InitAll 0 def -/TermAll 0 def -/DocInitAll 0 def -/DocTermAll 0 def -/_pdfEncodings 2 array def -/_pdf_str1 1 string def -/_pdf_i 0 def -/_pdf_na 0 def -/_pdf_showproc 0 def -/_italMtx [1 0 .212557 1 0 0] def -/_italMtx_WMode1 [1 -.212557 0 1 0 0] def -/_italMtxType0 [1 0 .1062785 1 0 0] def -/_italMtx_WMode1Type0 [1 -.1062785 0 1 0 0] def -/_basefont 0 def -/_basefonto 0 def -/_pdf_oldCIDInit null def -/_pdf_FontDirectory 30 dict def -/_categories 10 dict def -/_sa? true def -/_ColorSep5044? false def -/nulldict 0 dict def -/_processColors 0 def -/overprintstack null def -/_defaulttransfer currenttransfer def -/_defaultflatness currentflat def -/_defaulthalftone null def -/_defaultcolortransfer null def -/_defaultblackgeneration null def -/_defaultundercolorremoval null def -/_defaultcolortransfer null def -PDF begin -[/c/cs/cm/d/d0/f/h/i/j/J/l/m/M/n/q/Q/re/ri/S/sc/sh/Tf/w/W -/applyInterpFunc/applystitchFunc/domainClip/encodeInput -/initgs/int/limit/rangeClip -/defineRes/undefineRes/findRes/setSA/pl -/? /! /| /: /+ /GetGlyphDirectory -/pdf_flushFilters /pdf_readstring /pdf_dictOp /pdf_image /pdf_maskedImage -/pdf_shfill /pdf_sethalftone -] {null def} bind forall -end -end -%%EndResource -PDFVars begin PDF begin -%%BeginResource: procset pdfutil 6.0 1 -%%Copyright: Copyright 1993-2001 Adobe Systems Incorporated. All Rights Reserved. -%%Title: Basic utilities used by other PDF procsets -/bd {bind def} bind def -/ld {load def} bd -/bld { -dup length dict begin -{ null def } forall -bind -end -def -} bd -/dd { PDFVars 3 1 roll put } bd -/xdd { exch dd } bd -/Level2? -systemdict /languagelevel known -{ systemdict /languagelevel get 2 ge } { false } ifelse -def -/Level1? Level2? not def -/Level3? -systemdict /languagelevel known -{systemdict /languagelevel get 3 eq } { false } ifelse -def -/getifknown { -2 copy known { get true } { pop pop false } ifelse -} bd -/here { -currentdict exch getifknown -} bd -/isdefined? { where { pop true } { false } ifelse } bd -%%EndResource -%%BeginResource: procset pdf 6.0 1 -%%Copyright: Copyright 1998-2003 Adobe Systems Incorporated. All Rights Reserved. -%%Title: General operators for PDF, common to all Language Levels. -/cm { matrix astore concat } bd -/d /setdash ld -/f /fill ld -/h /closepath ld -/i {dup 0 eq {pop _defaultflatness} if setflat} bd -/j /setlinejoin ld -/J /setlinecap ld -/M /setmiterlimit ld -/n /newpath ld -/S /stroke ld -/w /setlinewidth ld -/W /clip ld -/sg /setgray ld -/initgs { -0 setgray -[] 0 d -0 j -0 J -10 M -1 w -false setSA -/_defaulttransfer load settransfer -0 i -/RelativeColorimetric ri -newpath -} bd -/int { -dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul -exch pop add exch pop -} bd -/limit { -dup 2 index le { exch } if pop -dup 2 index ge { exch } if pop -} bd -/domainClip { -Domain aload pop 3 2 roll -limit -} [/Domain] bld -/applyInterpFunc { -0 1 DimOut 1 sub -{ -dup C0 exch get exch -dup C1 exch get exch -3 1 roll -1 index sub -3 index -N exp mul add -exch -currentdict /Range_lo known -{ -dup Range_lo exch get exch -Range_hi exch get -3 2 roll limit -} -{ -pop -} -ifelse -exch -} for -pop -} [/DimOut /C0 /C1 /N /Range_lo /Range_hi] bld -/encodeInput { -NumParts 1 sub -0 1 2 index -{ -dup Bounds exch get -2 index gt -{ exit } -{ dup -3 index eq -{ exit } -{ pop } ifelse -} ifelse -} for -3 2 roll pop -dup Bounds exch get exch -dup 1 add Bounds exch get exch -2 mul -dup Encode exch get exch -1 add Encode exch get -int -} [/NumParts /Bounds /Encode] bld -/rangeClip { -exch dup Range_lo exch get -exch Range_hi exch get -3 2 roll -limit -} [/Range_lo /Range_hi] bld -/applyStitchFunc { -Functions exch get exec -currentdict /Range_lo known { -0 1 DimOut 1 sub { -DimOut 1 add -1 roll -rangeClip -} for -} if -} [/Functions /Range_lo /DimOut] bld -/pdf_flushfilters -{ -aload length -{ dup status -1 index currentfile ne and -{ dup flushfile closefile } -{ pop } -ifelse -} repeat -} bd -/pdf_readstring -{ -1 index dup length 1 sub get -exch readstring pop -exch pdf_flushfilters -} bind def -/pdf_dictOp -{ -3 2 roll -10 dict copy -begin -_Filters dup length 1 sub get def -currentdict exch exec -_Filters pdf_flushfilters -end -} [/_Filters] bld -/pdf_imagemask {{imagemask} /DataSource pdf_dictOp} bd -/pdf_shfill {{sh} /DataSource pdf_dictOp} bd -/pdf_sethalftone {{sethalftone} /Thresholds pdf_dictOp} bd -/masks [ 2#10000000 -2#11000000 -2#11100000 -2#11110000 -2#11111000 -2#11111100 -2#11111110 -2#11111111 ] def -/addNBits -{ -/numBits exch def -/byte exch def -OutBitOffset numBits add 8 gt -{ -byte OutBitOffset 8 sub bitshift -OutBuffer OutByteIndex get or -OutBuffer OutByteIndex 3 -1 roll put -/OutByteIndex OutByteIndex 1 add def -/bitsDoneSoFar OutBitOffset def -/OutBitOffset numBits 8 OutBitOffset sub sub def -OutBitOffset 0 gt -{ -byte bitsDoneSoFar bitshift -masks numBits bitsDoneSoFar sub get and -OutBuffer OutByteIndex 3 -1 roll put -} if -} -{ -byte masks numBits 1 sub get and -OutBitOffset neg bitshift -OutBuffer OutByteIndex get or -OutBuffer OutByteIndex 3 -1 roll put -/OutBitOffset OutBitOffset numBits add def -OutBitOffset 8 eq -{ -/OutBitOffset 0 def -/OutByteIndex OutByteIndex 1 add def -} if -} ifelse -} bind def -/DevNNFilter -{ -/InBuffer Width NumComps mul BitsPerComponent mul 7 add 8 idiv string def -AllSource InBuffer readstring pop pop -/outlen Width NewNumComps mul BitsPerComponent mul 7 add 8 idiv def -/OutBuffer outlen string def -0 1 outlen 1 sub { OutBuffer exch 0 put } for -/InByteIndex 0 def -/InBitOffset 0 def -/OutByteIndex 0 def -/OutBitOffset 0 def -/KeepArray NumComps array def -0 1 NumComps 1 sub { KeepArray exch true put } for -DevNNones { KeepArray exch false put } forall -Width { -KeepArray -{ -{ -/bitsLeft BitsPerComponent def -{ -bitsLeft 0 le { exit } if -/bitsToDo 8 InBitOffset sub dup bitsLeft gt { pop bitsLeft } if def -InBuffer InByteIndex get -InBitOffset bitshift -bitsToDo addNBits -/bitsLeft bitsLeft bitsToDo sub def -InBitOffset bitsToDo add -dup 8 mod /InBitOffset exch def -8 idiv InByteIndex add /InByteIndex exch def -} loop -} -{ -InBitOffset BitsPerComponent add -dup 8 mod /InBitOffset exch def -8 idiv InByteIndex add /InByteIndex exch def -} -ifelse -} -forall -} repeat -OutBuffer -} bd -/pdf_image -{ -20 dict copy -begin -/UnusedNones where { /UnusedNones get}{false} ifelse -{ -/NumComps Decode length 2 div cvi def -/OrigDecode Decode def -/NumNones DevNNones length def -/NewNumComps NumComps NumNones sub def -/Decode NewNumComps 2 mul cvi array def -/devNNindx 0 def -/decIndx 0 def -/cmpIndx 0 def -NumComps { -cmpIndx DevNNones devNNindx get eq -{ -/devNNindx devNNindx 1 add dup NumNones eq {pop 0} if def -} -{ -Decode decIndx OrigDecode cmpIndx 2 mul get put -Decode decIndx 1 add OrigDecode cmpIndx 2 mul 1 add get put -/decIndx decIndx 2 add def -} ifelse -/cmpIndx cmpIndx 1 add def -} repeat -_Filters dup length 1 sub get /AllSource exch def -/DataSource { DevNNFilter } def -} -{ _Filters dup length 1 sub get /DataSource exch def } -ifelse -currentdict image -_Filters pdf_flushfilters -end -} bd -/pdf_maskedImage -{ -10 dict copy begin -/miDict currentdict def -/DataDict DataDict 10 dict copy def -DataDict begin -/DataSource -_Filters dup length 1 sub get -def -miDict image -_Filters pdf_flushfilters -end -miDict /InterleaveType get 3 eq -{ MaskDict /DataSource get dup type /filetype eq { closefile } { pop } ifelse } -if -end -} [/miDict /DataDict /_Filters] bld -/RadialShade { -40 dict begin -/background exch def -/ext1 exch def -/ext0 exch def -/BBox exch def -/r2 exch def -/c2y exch def -/c2x exch def -/r1 exch def -/c1y exch def -/c1x exch def -/rampdict exch def -gsave -BBox length 0 gt { -newpath -BBox 0 get BBox 1 get moveto -BBox 2 get BBox 0 get sub 0 rlineto -0 BBox 3 get BBox 1 get sub rlineto -BBox 2 get BBox 0 get sub neg 0 rlineto -closepath -clip -newpath -} if -c1x c2x eq -{ -c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse -} -{ -/slope c2y c1y sub c2x c1x sub div def -/theta slope 1 atan def -c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if -c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if -} -ifelse -gsave -clippath -c1x c1y translate -theta rotate --90 rotate -{ pathbbox } stopped -{ 0 0 0 0 } if -/yMax exch def -/xMax exch def -/yMin exch def -/xMin exch def -grestore -xMax xMin eq yMax yMin eq or -{ -grestore -end -} -{ -/max { 2 copy gt { pop } {exch pop} ifelse } bind def -/min { 2 copy lt { pop } {exch pop} ifelse } bind def -rampdict begin -40 dict begin -background length 0 gt { background sssetbackground gsave clippath fill grestore } if -gsave -c1x c1y translate -theta rotate --90 rotate -/c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def -/c1y 0 def -/c1x 0 def -/c2x 0 def -ext0 { -0 getrampcolor -c2y r2 add r1 sub 0.0001 lt -{ -c1x c1y r1 360 0 arcn -pathbbox -/aymax exch def -/axmax exch def -/aymin exch def -/axmin exch def -/bxMin xMin axmin min def -/byMin yMin aymin min def -/bxMax xMax axmax max def -/byMax yMax aymax max def -bxMin byMin moveto -bxMax byMin lineto -bxMax byMax lineto -bxMin byMax lineto -bxMin byMin lineto -eofill -} -{ -c2y r1 add r2 le -{ -c1x c1y r1 0 360 arc -fill -} -{ -c2x c2y r2 0 360 arc fill -r1 r2 eq -{ -/p1x r1 neg def -/p1y c1y def -/p2x r1 def -/p2y c1y def -p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto -fill -} -{ -/AA r2 r1 sub c2y div def -AA -1 eq -{ /theta 89.99 def} -{ /theta AA 1 AA dup mul sub sqrt div 1 atan def} -ifelse -/SS1 90 theta add dup sin exch cos div def -/p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def -/p1y p1x SS1 div neg def -/SS2 90 theta sub dup sin exch cos div def -/p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def -/p2y p2x SS2 div neg def -r1 r2 gt -{ -/L1maxX p1x yMin p1y sub SS1 div add def -/L2maxX p2x yMin p2y sub SS2 div add def -} -{ -/L1maxX 0 def -/L2maxX 0 def -}ifelse -p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto -L1maxX L1maxX p1x sub SS1 mul p1y add lineto -fill -} -ifelse -} -ifelse -} ifelse -} if -c1x c2x sub dup mul -c1y c2y sub dup mul -add 0.5 exp -0 dtransform -dup mul exch dup mul add 0.5 exp 72 div -0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt -72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt -1 index 1 index lt { exch } if pop -/hires exch def -hires mul -/numpix exch def -/numsteps NumSamples def -/rampIndxInc 1 def -/subsampling false def -numpix 0 ne -{ -NumSamples numpix div 0.5 gt -{ -/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def -/rampIndxInc NumSamples 1 sub numsteps div def -/subsampling true def -} if -} if -/xInc c2x c1x sub numsteps div def -/yInc c2y c1y sub numsteps div def -/rInc r2 r1 sub numsteps div def -/cx c1x def -/cy c1y def -/radius r1 def -newpath -xInc 0 eq yInc 0 eq rInc 0 eq and and -{ -0 getrampcolor -cx cy radius 0 360 arc -stroke -NumSamples 1 sub getrampcolor -cx cy radius 72 hires div add 0 360 arc -0 setlinewidth -stroke -} -{ -0 -numsteps -{ -dup -subsampling { round } if -getrampcolor -cx cy radius 0 360 arc -/cx cx xInc add def -/cy cy yInc add def -/radius radius rInc add def -cx cy radius 360 0 arcn -eofill -rampIndxInc add -} -repeat -pop -} ifelse -ext1 { -c2y r2 add r1 lt -{ -c2x c2y r2 0 360 arc -fill -} -{ -c2y r1 add r2 sub 0.0001 le -{ -c2x c2y r2 360 0 arcn -pathbbox -/aymax exch def -/axmax exch def -/aymin exch def -/axmin exch def -/bxMin xMin axmin min def -/byMin yMin aymin min def -/bxMax xMax axmax max def -/byMax yMax aymax max def -bxMin byMin moveto -bxMax byMin lineto -bxMax byMax lineto -bxMin byMax lineto -bxMin byMin lineto -eofill -} -{ -c2x c2y r2 0 360 arc fill -r1 r2 eq -{ -/p1x r2 neg def -/p1y c2y def -/p2x r2 def -/p2y c2y def -p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto -fill -} -{ -/AA r2 r1 sub c2y div def -AA -1 eq -{ /theta 89.99 def} -{ /theta AA 1 AA dup mul sub sqrt div 1 atan def} -ifelse -/SS1 90 theta add dup sin exch cos div def -/p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def -/p1y c2y p1x SS1 div sub def -/SS2 90 theta sub dup sin exch cos div def -/p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def -/p2y c2y p2x SS2 div sub def -r1 r2 lt -{ -/L1maxX p1x yMax p1y sub SS1 div add def -/L2maxX p2x yMax p2y sub SS2 div add def -} -{ -/L1maxX 0 def -/L2maxX 0 def -}ifelse -p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto -L1maxX L1maxX p1x sub SS1 mul p1y add lineto -fill -} -ifelse -} -ifelse -} ifelse -} if -grestore -grestore -end -end -end -} ifelse -} bd -/GenStrips { -40 dict begin -/background exch def -/ext1 exch def -/ext0 exch def -/BBox exch def -/y2 exch def -/x2 exch def -/y1 exch def -/x1 exch def -/rampdict exch def -gsave -BBox length 0 gt { -newpath -BBox 0 get BBox 1 get moveto -BBox 2 get BBox 0 get sub 0 rlineto -0 BBox 3 get BBox 1 get sub rlineto -BBox 2 get BBox 0 get sub neg 0 rlineto -closepath -clip -newpath -} if -x1 x2 eq -{ -y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse -} -{ -/slope y2 y1 sub x2 x1 sub div def -/theta slope 1 atan def -x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if -x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if -} -ifelse -gsave -clippath -x1 y1 translate -theta rotate -{ pathbbox } stopped -{ 0 0 0 0 } if -/yMax exch def -/xMax exch def -/yMin exch def -/xMin exch def -grestore -xMax xMin eq yMax yMin eq or -{ -grestore -end -} -{ -rampdict begin -20 dict begin -background length 0 gt { background sssetbackground gsave clippath fill grestore } if -gsave -x1 y1 translate -theta rotate -/xStart 0 def -/xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def -/ySpan yMax yMin sub def -/numsteps NumSamples def -/rampIndxInc 1 def -/subsampling false def -xStart 0 transform -xEnd 0 transform -3 -1 roll -sub dup mul -3 1 roll -sub dup mul -add 0.5 exp 72 div -0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt -72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt -1 index 1 index lt { exch } if pop -mul -/numpix exch def -numpix 0 ne -{ -NumSamples numpix div 0.5 gt -{ -/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def -/rampIndxInc NumSamples 1 sub numsteps div def -/subsampling true def -} if -} if -ext0 { -0 getrampcolor -xMin xStart lt -{ xMin yMin xMin neg ySpan rectfill } if -} if -/xInc xEnd xStart sub numsteps div def -/x xStart def -0 -numsteps -{ -dup -subsampling { round } if -getrampcolor -x yMin xInc ySpan rectfill -/x x xInc add def -rampIndxInc add -} -repeat -pop -ext1 { -xMax xEnd gt -{ xEnd yMin xMax xEnd sub ySpan rectfill } if -} if -grestore -grestore -end -end -end -} ifelse -} bd -/currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse -{ -/PDFMark5 {cleartomark} bd -} -{ -/PDFMark5 {pdfmark} bd -}ifelse -/ReadByPDFMark5 -{ -2 dict begin -/makerString exch def string /tmpString exch def -{ -currentfile tmpString readline pop -makerString anchorsearch -{ -pop pop cleartomark exit -} -{ -3 copy /PUT PDFMark5 pop 2 copy (\n) /PUT PDFMark5 -} ifelse -}loop -end -}bd -%%EndResource -%%BeginResource: procset pdflev2 6.0 1 -%%Copyright: Copyright 1987-2001,2003 Adobe Systems Incorporated. All Rights Reserved. -%%Title: PDF operators, with code specific for Level 2 -/docinitialize { -PDF begin -/_defaulthalftone currenthalftone dd -/_defaultblackgeneration currentblackgeneration dd -/_defaultundercolorremoval currentundercolorremoval dd -/_defaultcolortransfer [currentcolortransfer] dd -/_defaulttransfer currenttransfer dd -end -PDFVars /docSetupDone true put -} bd -/initialize { -PDFVars /docSetupDone get { -_defaulthalftone sethalftone -/_defaultblackgeneration load setblackgeneration -/_defaultundercolorremoval load setundercolorremoval -_defaultcolortransfer aload pop setcolortransfer -} if -false setoverprint -} bd -/terminate { } bd -/c /curveto ld -/cs /setcolorspace ld -/l /lineto ld -/m /moveto ld -/q /gsave ld -/Q /grestore ld -/sc /setcolor ld -/setSA/setstrokeadjust ld -/re { -4 2 roll m -1 index 0 rlineto -0 exch rlineto -neg 0 rlineto -h -} bd -/concattransferfuncs { -[ 3 1 roll /exec load exch /exec load ] cvx -} bd -/concatandsettransfer { -/_defaulttransfer load concattransferfuncs settransfer -} bd -/concatandsetcolortransfer { -_defaultcolortransfer aload pop -8 -1 roll 5 -1 roll concattransferfuncs 7 1 roll -6 -1 roll 4 -1 roll concattransferfuncs 5 1 roll -4 -1 roll 3 -1 roll concattransferfuncs 3 1 roll -concattransferfuncs -setcolortransfer -} bd -/defineRes/defineresource ld -/undefineRes/undefineresource ld -/findRes/findresource ld -currentglobal -true systemdict /setglobal get exec -[/Function /ExtGState /Form /Shading /FunctionDictionary /MadePattern /PatternPrototype /DataSource /Image] -{ /Generic /Category findresource dup length dict copy /Category defineresource pop } -forall -systemdict /setglobal get exec -/ri -{ -/findcolorrendering isdefined? -{ -mark exch -findcolorrendering -counttomark 2 eq -{ type /booleantype eq -{ dup type /nametype eq -{ dup /ColorRendering resourcestatus -{ pop pop -dup /DefaultColorRendering ne -{ -/ColorRendering findresource -setcolorrendering -} if -} if -} if -} if -} if -cleartomark -} -{ pop -} ifelse -} bd -/knownColorants? { -pop false -} bd -/getrampcolor { -cvi -/indx exch def -0 1 NumComp 1 sub { -dup -Samples exch get -dup type /stringtype eq { indx get } if -exch -Scaling exch get aload pop -3 1 roll -mul add -} for -setcolor -} bd -/sssetbackground { aload pop setcolor } bd -%%EndResource -%%BeginResource: procset pdftext 6.0 1 -%%Copyright: Copyright 1987-2001,2003 Adobe Systems Incorporated. All Rights Reserved. -%%Title: Text operators for PDF -PDF /PDFText 78 dict dup begin put -/docinitialize -{ -/resourcestatus where { -pop -/CIDParams /ProcSet resourcestatus { -pop pop -false /CIDParams /ProcSet findresource /SetBuildCompatible get exec -} if -} if -PDF begin -PDFText /_pdfDefineIdentity-H known -{ PDFText /_pdfDefineIdentity-H get exec} -if -end -} bd -/initialize { -PDFText begin -} bd -/terminate { end } bd -Level2? -{ -/_safeput -{ -3 -1 roll load 3 1 roll put -} -bd -} -{ -/_safeput -{ -2 index load dup dup length exch maxlength ge -{ dup length 5 add dict copy -3 index xdd -} -{ pop } -ifelse -3 -1 roll load 3 1 roll put -} -bd -} -ifelse -/pdf_has_composefont? systemdict /composefont known def -/CopyFont { -{ -1 index /FID ne 2 index /UniqueID ne and -{ def } { pop pop } ifelse -} forall -} bd -/Type0CopyFont -{ -exch -dup length dict -begin -CopyFont -[ -exch -FDepVector -{ -dup /FontType get 0 eq -{ -1 index Type0CopyFont -/_pdfType0 exch definefont -} -{ -/_pdfBaseFont exch -2 index exec -} -ifelse -exch -} -forall -pop -] -/FDepVector exch def -currentdict -end -} bd -Level2? {currentglobal true setglobal} if -/cHexEncoding -[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 -/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 -/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 -/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B -/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E -/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 -/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 -/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 -/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA -/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD -/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 -/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 -/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 -/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def -Level2? {setglobal} if -/modEnc { -/_enc xdd -/_icode 0 dd -counttomark 1 sub -1 0 -{ -index -dup type /nametype eq -{ -_enc _icode 3 -1 roll put -_icode 1 add -} -if -/_icode xdd -} for -cleartomark -_enc -} bd -/trEnc { -/_enc xdd -255 -1 0 { -exch dup -1 eq -{ pop /.notdef } -{ Encoding exch get } -ifelse -_enc 3 1 roll put -} for -pop -_enc -} bd -/TE { -/_i xdd -StandardEncoding 256 array copy modEnc -_pdfEncodings exch _i exch put -} bd -Level2? -{ -/pdfPatchCStrings -{ -currentdict /CharStrings known currentdict /FontType known and -{ -FontType 1 eq CharStrings type /dicttype eq and -{ -CharStrings /mu known CharStrings /mu1 known not and CharStrings wcheck and -{ -CharStrings /mu get -type /stringtype eq -{ -currentglobal -CharStrings /mu1 -CharStrings /mu get -dup gcheck setglobal -dup length string copy -put -setglobal -} if -} if -} if -} if -} bd -} -{ /pdfPatchCStrings {} bd } -ifelse -/TZ -{ -/_usePDFEncoding xdd -findfont -dup length 6 add dict -begin -{ -1 index /FID ne { def } { pop pop } ifelse -} forall -pdfPatchCStrings -/pdf_origFontName FontName def -/FontName exch def -currentdict /PaintType known -{ PaintType 2 eq {/PaintType 0 def} if } -if -_usePDFEncoding 0 ge -{ -/Encoding _pdfEncodings _usePDFEncoding get def -pop -} -{ -_usePDFEncoding -1 eq -{ -counttomark 0 eq -{ pop } -{ -Encoding 256 array copy -modEnc /Encoding exch def -} -ifelse -} -{ -256 array -trEnc /Encoding exch def -} -ifelse -} -ifelse -pdf_EuroProcSet pdf_origFontName known -{ -pdf_origFontName pdf_AddEuroGlyphProc -} if -Level2? -{ -currentdict /pdf_origFontName undef -} if -FontName currentdict -end -definefont pop -} -bd -Level2? -{ -/TZG -{ -currentglobal true setglobal -2 index _pdfFontStatus -{ -2 index findfont -false setglobal -3 index findfont -true setglobal -ne -{ -2 index findfont dup rcheck -{ -dup length dict begin -{ -1 index /FID ne { def } { pop pop } ifelse -} forall -pdfPatchCStrings -currentdict end -} -if -3 index exch definefont pop -} -if -} if -setglobal -TZ -} bd -} -{ -/TZG {TZ} bd -} ifelse -Level2? -{ -currentglobal false setglobal -userdict /pdftext_data 5 dict put -pdftext_data -begin -/saveStacks -{ -pdftext_data -begin -/vmmode currentglobal def -false setglobal -count array astore /os exch def -end -countdictstack array dictstack pdftext_data exch /ds exch put -cleardictstack pdftext_data /dscount countdictstack put -pdftext_data /vmmode get setglobal -} bind def -/restoreStacks -{ -pdftext_data /vmmode currentglobal put false setglobal -clear cleardictstack -pdftext_data /ds get dup -pdftext_data /dscount get 1 2 index length 1 sub -{ get begin dup } for -pop pop -pdftext_data /os get aload pop -pdftext_data /vmmode get setglobal -} bind def -/testForClonePrinterBug -{ -currentglobal true setglobal -/undefinedCategory /Generic /Category findresource -dup length dict copy /Category defineresource pop -setglobal -pdftext_data /saveStacks get exec -pdftext_data /vmmode currentglobal put false setglobal -/undefined /undefinedCategory { resourcestatus } stopped -pdftext_data exch /bugFound exch put -pdftext_data /vmmode get setglobal -pdftext_data /restoreStacks get exec -pdftext_data /bugFound get -} bind def -end -setglobal -/pdf_resourcestatus -pdftext_data /testForClonePrinterBug get exec -{ -{ -pdftext_data /saveStacks get exec -pdftext_data /os get dup dup length 1 sub -dup 1 sub dup 0 lt { pop 0 } if -exch 1 exch { get exch dup } for -pop pop -{ resourcestatus } -stopped -{ -clear cleardictstack pdftext_data /restoreStacks get exec -{ pop pop } stopped pop false -} -{ -count array astore pdftext_data exch /results exch put -pdftext_data /restoreStacks get exec pop pop -pdftext_data /results get aload pop -} -ifelse -} -} -{ { resourcestatus } } -ifelse -bd -} -if -Level2? -{ -/_pdfUndefineResource -{ -currentglobal 3 1 roll -_pdf_FontDirectory 2 index 2 copy known -{undef} -{pop pop} -ifelse -1 index (pdf) exch _pdfConcatNames 1 index -1 index 1 _pdfConcatNames 1 index -5 index 1 _pdfConcatNames 1 index -4 -{ -2 copy pdf_resourcestatus -{ -pop 2 lt -{2 copy findresource gcheck setglobal undefineresource} -{pop pop} -ifelse -} -{ pop pop} -ifelse -} repeat -setglobal -} bd -} -{ -/_pdfUndefineResource { pop pop} bd -} -ifelse -Level2? -{ -/_pdfFontStatus -{ -currentglobal exch -/Font pdf_resourcestatus -{pop pop true} -{false} -ifelse -exch setglobal -} bd -} -{ -/_pdfFontStatusString 50 string def -_pdfFontStatusString 0 (fonts/) putinterval -/_pdfFontStatus -{ -FontDirectory 1 index known -{ pop true } -{ -_pdfFontStatusString 6 42 getinterval -cvs length 6 add -_pdfFontStatusString exch 0 exch getinterval -{ status } stopped -{pop false} -{ -{ pop pop pop pop true} -{ false } -ifelse -} -ifelse -} -ifelse -} bd -} -ifelse -Level2? -{ -/_pdfCIDFontStatus -{ -/CIDFont /Category pdf_resourcestatus -{ -pop pop -/CIDFont pdf_resourcestatus -{pop pop true} -{false} -ifelse -} -{ pop false } -ifelse -} bd -} -if -/_pdfString100 100 string def -/_pdfComposeFontName -{ -dup length 1 eq -{ -0 get -1 index -type /nametype eq -{ -_pdfString100 cvs -length dup dup _pdfString100 exch (-) putinterval -_pdfString100 exch 1 add dup _pdfString100 length exch sub getinterval -2 index exch cvs length -add 1 add _pdfString100 exch 0 exch getinterval -exch pop -true -} -{ -pop pop -false -} -ifelse -} -{ -false -} -ifelse -dup {exch cvn exch} if -} bd -/_pdfConcatNames -{ -exch -_pdfString100 cvs -length dup dup _pdfString100 exch (-) putinterval -_pdfString100 exch 1 add dup _pdfString100 length exch sub getinterval -3 -1 roll exch cvs length -add 1 add _pdfString100 exch 0 exch getinterval -cvn -} bind def -/_pdfTextTempString 50 string def -/_pdfRegOrderingArray [(Adobe-Japan1) (Adobe-CNS1) (Adobe-Korea1) (Adobe-GB1)] def -/_pdf_CheckCIDSystemInfo -{ -1 index _pdfTextTempString cvs -(Identity) anchorsearch -{ -pop pop pop pop true -} -{ -false -_pdfRegOrderingArray -{ -2 index exch -anchorsearch -{ pop pop pop true exit} -{ pop } -ifelse -} -forall -exch pop -exch /CIDFont findresource -/CIDSystemInfo get -3 -1 roll /CMap findresource -/CIDSystemInfo get -exch -3 -1 roll -{ -2 copy -/Supplement get -exch -dup type /dicttype eq -{/Supplement get} -{pop 0 } -ifelse -ge -} -{ true } -ifelse -{ -dup /Registry get -2 index /Registry get eq -{ -/Ordering get -exch /Ordering get -dup type /arraytype eq -{ -1 index type /arraytype eq -{ -true -1 index length 1 sub -1 0 -{ -dup 2 index exch get exch 3 index exch get ne -{ pop false exit} -if -} for -exch pop exch pop -} -{ pop pop false } -ifelse -} -{ -eq -} -ifelse -} -{ pop pop false } -ifelse -} -{ pop pop false } -ifelse -} -ifelse -} bind def -pdf_has_composefont? -{ -/_pdfComposeFont -{ -2 copy _pdfComposeFontName not -{ -2 index -} -if -(pdf) exch _pdfConcatNames -dup _pdfFontStatus -{ dup findfont 5 2 roll pop pop pop true} -{ -4 1 roll -1 index /CMap pdf_resourcestatus -{ -pop pop -true -} -{false} -ifelse -1 index true exch -{ -_pdfCIDFontStatus not -{pop false exit} -if -} -forall -and -{ -1 index 1 index 0 get _pdf_CheckCIDSystemInfo -{ -3 -1 roll pop -2 index 3 1 roll -composefont true -} -{ -pop pop exch pop false -} -ifelse -} -{ -_pdfComposeFontName -{ -dup _pdfFontStatus -{ -exch pop -1 index exch -findfont definefont true -} -{ -pop exch pop -false -} -ifelse -} -{ -exch pop -false -} -ifelse -} -ifelse -{ true } -{ -dup _pdfFontStatus -{ dup findfont true } -{ pop false } -ifelse -} -ifelse -} -ifelse -} bd -} -{ -/_pdfComposeFont -{ -_pdfComposeFontName not -{ -dup -} -if -dup -_pdfFontStatus -{exch pop dup findfont true} -{ -1 index -dup type /nametype eq -{pop} -{cvn} -ifelse -eq -{pop false} -{ -dup _pdfFontStatus -{dup findfont true} -{pop false} -ifelse -} -ifelse -} -ifelse -} bd -} -ifelse -/_pdfStyleDicts 4 dict dup begin -/Adobe-Japan1 4 dict dup begin -Level2? -{ -/Serif -/HeiseiMin-W3-83pv-RKSJ-H _pdfFontStatus -{/HeiseiMin-W3} -{ -/HeiseiMin-W3 _pdfCIDFontStatus -{/HeiseiMin-W3} -{/Ryumin-Light} -ifelse -} -ifelse -def -/SansSerif -/HeiseiKakuGo-W5-83pv-RKSJ-H _pdfFontStatus -{/HeiseiKakuGo-W5} -{ -/HeiseiKakuGo-W5 _pdfCIDFontStatus -{/HeiseiKakuGo-W5} -{/GothicBBB-Medium} -ifelse -} -ifelse -def -/HeiseiMaruGo-W4-83pv-RKSJ-H _pdfFontStatus -{/HeiseiMaruGo-W4} -{ -/HeiseiMaruGo-W4 _pdfCIDFontStatus -{/HeiseiMaruGo-W4} -{ -/Jun101-Light-RKSJ-H _pdfFontStatus -{ /Jun101-Light } -{ SansSerif } -ifelse -} -ifelse -} -ifelse -/RoundSansSerif exch def -/Default Serif def -} -{ -/Serif /Ryumin-Light def -/SansSerif /GothicBBB-Medium def -{ -(fonts/Jun101-Light-83pv-RKSJ-H) status -}stopped -{pop}{ -{ pop pop pop pop /Jun101-Light } -{ SansSerif } -ifelse -/RoundSansSerif exch def -}ifelse -/Default Serif def -} -ifelse -end -def -/Adobe-Korea1 4 dict dup begin -/Serif /HYSMyeongJo-Medium def -/SansSerif /HYGoThic-Medium def -/RoundSansSerif SansSerif def -/Default Serif def -end -def -/Adobe-GB1 4 dict dup begin -/Serif /STSong-Light def -/SansSerif /STHeiti-Regular def -/RoundSansSerif SansSerif def -/Default Serif def -end -def -/Adobe-CNS1 4 dict dup begin -/Serif /MKai-Medium def -/SansSerif /MHei-Medium def -/RoundSansSerif SansSerif def -/Default Serif def -end -def -end -def -/TZzero -{ -/_wmode xdd -/_styleArr xdd -/_regOrdering xdd -3 copy -_pdfComposeFont -{ -5 2 roll pop pop pop -} -{ -[ -0 1 _styleArr length 1 sub -{ -_styleArr exch get -_pdfStyleDicts _regOrdering 2 copy known -{ -get -exch 2 copy known not -{ pop /Default } -if -get -} -{ -pop pop pop /Unknown -} -ifelse -} -for -] -exch pop -2 index 3 1 roll -_pdfComposeFont -{3 -1 roll pop} -{ -findfont dup /FontName get exch -} -ifelse -} -ifelse -dup /WMode 2 copy known -{ get _wmode ne } -{ pop pop _wmode 1 eq} -ifelse -{ -exch _wmode _pdfConcatNames -dup _pdfFontStatus -{ exch pop dup findfont false} -{ exch true } -ifelse -} -{ -dup /FontType get 0 ne -} -ifelse -{ -dup /FontType get 3 eq _wmode 1 eq and -{ -_pdfVerticalRomanT3Font dup length 10 add dict copy -begin -/_basefont exch -dup length 3 add dict -begin -{1 index /FID ne {def}{pop pop} ifelse } -forall -/Encoding Encoding dup length array copy -dup 16#27 /quotesingle put -dup 16#60 /grave put -_regOrdering /Adobe-Japan1 eq -{dup 16#5c /yen put dup 16#a5 /yen put dup 16#b4 /yen put} -if -def -FontName -currentdict -end -definefont -def -/Encoding _basefont /Encoding get def -/_fauxfont true def -} -{ -dup length 3 add dict -begin -{1 index /FID ne {def}{pop pop} ifelse } -forall -FontType 0 ne -{ -/Encoding Encoding dup length array copy -dup 16#27 /quotesingle put -dup 16#60 /grave put -_regOrdering /Adobe-Japan1 eq -{dup 16#5c /yen put} -if -def -/_fauxfont true def -} if -} ifelse -/WMode _wmode def -dup dup /FontName exch def -currentdict -end -definefont pop -} -{ -pop -} -ifelse -/_pdf_FontDirectory 3 1 roll _safeput -} -bd -Level2? -{ -/Tf { -_pdf_FontDirectory 2 index 2 copy known -{get exch 3 -1 roll pop} -{pop pop} -ifelse -selectfont -} bd -} -{ -/Tf { -_pdf_FontDirectory 2 index 2 copy known -{get exch 3 -1 roll pop} -{pop pop} -ifelse -exch findfont exch -dup type /arraytype eq -{makefont} -{scalefont} -ifelse -setfont -} bd -} -ifelse -/cshow where -{ -pop /pdf_cshow /cshow load dd -/pdf_remove2 {pop pop} dd -} -{ -/pdf_cshow {exch forall} dd -/pdf_remove2 {} dd -} ifelse -/pdf_xshow -{ -/_pdf_na xdd -/_pdf_i 0 dd -currentpoint -/_pdf_y xdd -/_pdf_x xdd -{ -pdf_remove2 -_pdf_str1 exch 0 exch put -_pdf_str1 /_pdf_showproc load exec -{_pdf_na _pdf_i get} stopped -{ pop pop } -{ -_pdf_x _pdf_y moveto -0 -rmoveto -} -ifelse -_pdf_i 1 add /_pdf_i xdd -currentpoint -/_pdf_y xdd -/_pdf_x xdd -} -exch -pdf_cshow -} bd -/pdf_yshow -{ -/_pdf_na xdd -/_pdf_i 0 dd -currentpoint -/_pdf_y xdd -/_pdf_x xdd -{ -pdf_remove2 -_pdf_str1 exch 0 exch put -_pdf_str1 /_pdf_showproc load exec -{_pdf_na _pdf_i get} stopped -{ pop pop } -{ -_pdf_x _pdf_y moveto -0 exch -rmoveto -} -ifelse -_pdf_i 1 add /_pdf_i xdd -currentpoint -/_pdf_y xdd -/_pdf_x xdd -} -exch -pdf_cshow -} bd -/pdf_xyshow -{ -/_pdf_na xdd -/_pdf_i 0 dd -currentpoint -/_pdf_y xdd -/_pdf_x xdd -{ -pdf_remove2 -_pdf_str1 exch 0 exch put -_pdf_str1 /_pdf_showproc load exec -{_pdf_na _pdf_i get} stopped -{ pop pop } -{ -1 pop -{_pdf_na _pdf_i 1 add get} stopped -{ pop pop pop} -{ -_pdf_x _pdf_y moveto -rmoveto -} -ifelse -} -ifelse -_pdf_i 2 add /_pdf_i xdd -currentpoint -/_pdf_y xdd -/_pdf_x xdd -} -exch -pdf_cshow -} bd -/pdfl1xs {/_pdf_showproc /show load dd pdf_xshow} bd -/pdfl1ys {/_pdf_showproc /show load dd pdf_yshow} bd -/pdfl1xys {/_pdf_showproc /show load dd pdf_xyshow} bd -Level2? _ColorSep5044? not and -{ -/pdfxs {{xshow} stopped {pdfl1xs} if} bd -/pdfys {{yshow} stopped {pdfl1ys} if} bd -/pdfxys {{xyshow} stopped {pdfl1xys} if} bd -} -{ -/pdfxs /pdfl1xs load dd -/pdfys /pdfl1ys load dd -/pdfxys /pdfl1xys load dd -} ifelse -/pdf_charpath {false charpath} bd -/pdf_xcharpath {/_pdf_showproc /pdf_charpath load dd pdf_xshow} bd -/pdf_ycharpath {/_pdf_showproc /pdf_charpath load dd pdf_yshow} bd -/pdf_xycharpath {/_pdf_showproc /pdf_charpath load dd pdf_xyshow} bd -/pdf_strokepath -{ -{ -pdf_remove2 -_pdf_str1 exch 0 exch put -_pdf_str1 false charpath -currentpoint S moveto -} bind -exch pdf_cshow -} bd -/pdf_xstrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_xshow} bd -/pdf_ystrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_yshow} bd -/pdf_xystrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_xyshow} bd -Level2? {currentglobal true setglobal} if -/d0/setcharwidth ld -/nND {{/.notdef} repeat} bd -/T3Defs { -/BuildChar -{ -1 index /Encoding get exch get -1 index /BuildGlyph get exec -} -def -/BuildGlyph { -exch begin -GlyphProcs exch get exec -end -} def -/_pdfT3Font true def -} bd -/_pdfBoldRomanWidthProc -{ -stringwidth 1 index 0 ne { exch .03 add exch }if setcharwidth -0 0 -} bd -/_pdfType0WidthProc -{ -dup stringwidth 0 0 moveto -2 index true charpath pathbbox -0 -1 -7 index 2 div .88 -setcachedevice2 -pop -0 0 -} bd -/_pdfType0WMode1WidthProc -{ -dup stringwidth -pop 2 div neg -0.88 -2 copy -moveto -0 -1 -5 -1 roll true charpath pathbbox -setcachedevice -} bd -/_pdfBoldBaseFont -11 dict begin -/FontType 3 def -/FontMatrix[1 0 0 1 0 0]def -/FontBBox[0 0 1 1]def -/Encoding cHexEncoding def -/_setwidthProc /_pdfBoldRomanWidthProc load def -/_bcstr1 1 string def -/BuildChar -{ -exch begin -_basefont setfont -_bcstr1 dup 0 4 -1 roll put -dup -_setwidthProc -3 copy -moveto -show -_basefonto setfont -moveto -show -end -}bd -currentdict -end -def -pdf_has_composefont? -{ -/_pdfBoldBaseCIDFont -11 dict begin -/CIDFontType 1 def -/CIDFontName /_pdfBoldBaseCIDFont def -/FontMatrix[1 0 0 1 0 0]def -/FontBBox[0 0 1 1]def -/_setwidthProc /_pdfType0WidthProc load def -/_bcstr2 2 string def -/BuildGlyph -{ -exch begin -_basefont setfont -_bcstr2 1 2 index 256 mod put -_bcstr2 0 3 -1 roll 256 idiv put -_bcstr2 dup _setwidthProc -3 copy -moveto -show -_basefonto setfont -moveto -show -end -}bd -currentdict -end -def -/_pdfDefineIdentity-H -{ -/Identity-H /CMap PDFText /pdf_resourcestatus get exec -{ -pop pop -} -{ -/CIDInit/ProcSet findresource begin 12 dict begin -begincmap -/CIDSystemInfo -3 dict begin -/Registry (Adobe) def -/Ordering (Identity) def -/Supplement 0 def -currentdict -end -def -/CMapName /Identity-H def -/CMapVersion 1 def -/CMapType 1 def -1 begincodespacerange -<0000> -endcodespacerange -1 begincidrange -<0000> 0 -endcidrange -endcmap -CMapName currentdict/CMap defineresource pop -end -end -} ifelse -} def -} if -/_pdfVerticalRomanT3Font -10 dict begin -/FontType 3 def -/FontMatrix[1 0 0 1 0 0]def -/FontBBox[0 0 1 1]def -/_bcstr1 1 string def -/BuildChar -{ -exch begin -_basefont setfont -_bcstr1 dup 0 4 -1 roll put -dup -_pdfType0WidthProc -moveto -show -end -}bd -currentdict -end -def -Level2? {setglobal} if -/MakeBoldFont -{ -dup /ct_SyntheticBold known -{ -dup length 3 add dict begin -CopyFont -/ct_StrokeWidth .03 0 FontMatrix idtransform pop def -/ct_SyntheticBold true def -currentdict -end -definefont -} -{ -dup dup length 3 add dict -begin -CopyFont -/PaintType 2 def -/StrokeWidth .03 0 FontMatrix idtransform pop def -/dummybold currentdict -end -definefont -dup /FontType get dup 9 ge exch 11 le and -{ -_pdfBoldBaseCIDFont -dup length 3 add dict copy begin -dup /CIDSystemInfo get /CIDSystemInfo exch def -/_Type0Identity /Identity-H 3 -1 roll [ exch ] composefont -/_basefont exch def -/_Type0Identity /Identity-H 3 -1 roll [ exch ] composefont -/_basefonto exch def -currentdict -end -/CIDFont defineresource -} -{ -_pdfBoldBaseFont -dup length 3 add dict copy begin -/_basefont exch def -/_basefonto exch def -currentdict -end -definefont -} -ifelse -} -ifelse -} bd -/MakeBold { -1 index -_pdf_FontDirectory 2 index 2 copy known -{get} -{exch pop} -ifelse -findfont -dup -/FontType get 0 eq -{ -dup /WMode known {dup /WMode get 1 eq }{false} ifelse -version length 4 ge -and -{version 0 4 getinterval cvi 2015 ge } -{true} -ifelse -{/_pdfType0WidthProc} -{/_pdfType0WMode1WidthProc} -ifelse -_pdfBoldBaseFont /_setwidthProc 3 -1 roll load put -{MakeBoldFont} Type0CopyFont definefont -} -{ -dup /_fauxfont known not 1 index /SubstMaster known not and -{ -_pdfBoldBaseFont /_setwidthProc /_pdfBoldRomanWidthProc load put -MakeBoldFont -} -{ -2 index 2 index eq -{ exch pop } -{ -dup length dict begin -CopyFont -currentdict -end -definefont -} -ifelse -} -ifelse -} -ifelse -pop pop -dup /dummybold ne -{/_pdf_FontDirectory exch dup _safeput } -{ pop } -ifelse -}bd -/MakeItalic { -_pdf_FontDirectory exch 2 copy known -{get} -{exch pop} -ifelse -dup findfont -dup /FontInfo 2 copy known -{ -get -/ItalicAngle 2 copy known -{get 0 eq } -{ pop pop true} -ifelse -} -{ pop pop true} -ifelse -{ -exch pop -dup /FontType get 0 eq Level2? not and -{ dup /FMapType get 6 eq } -{ false } -ifelse -{ -dup /WMode 2 copy known -{ -get 1 eq -{ _italMtx_WMode1Type0 } -{ _italMtxType0 } -ifelse -} -{ pop pop _italMtxType0 } -ifelse -} -{ -dup /WMode 2 copy known -{ -get 1 eq -{ _italMtx_WMode1 } -{ _italMtx } -ifelse -} -{ pop pop _italMtx } -ifelse -} -ifelse -makefont -dup /FontType get 42 eq Level2? not or -{ -dup length dict begin -CopyFont -currentdict -end -} -if -1 index exch -definefont pop -/_pdf_FontDirectory exch dup _safeput -} -{ -pop -2 copy ne -{ -/_pdf_FontDirectory 3 1 roll _safeput -} -{ pop pop } -ifelse -} -ifelse -}bd -/MakeBoldItalic { -/dummybold exch -MakeBold -/dummybold -MakeItalic -}bd -Level2? -{ -/pdf_CopyDict -{1 index length add dict copy} -def -} -{ -/pdf_CopyDict -{ -1 index length add dict -1 index wcheck -{ copy } -{ begin -{def} forall -currentdict -end -} -ifelse -} -def -} -ifelse -/pdf_AddEuroGlyphProc -{ -currentdict /CharStrings known -{ -CharStrings /Euro known not -{ -dup -/CharStrings -CharStrings 1 pdf_CopyDict -begin -/Euro pdf_EuroProcSet 4 -1 roll get def -currentdict -end -def -/pdf_PSBuildGlyph /pdf_PSBuildGlyph load def -/pdf_PathOps /pdf_PathOps load def -/Symbol eq Encoding 160 get /.notdef eq and -{ -/Encoding Encoding dup length array copy -dup 160 /Euro put def -} -if -} -{ pop -} -ifelse -} -{ pop -} -ifelse -} -def -Level2? {currentglobal true setglobal} if -/pdf_PathOps 4 dict dup begin -/m {moveto} def -/l {lineto} def -/c {curveto} def -/cp {closepath} def -end -def -/pdf_PSBuildGlyph -{ -gsave -8 -1 roll pop -7 1 roll -currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse -dup 9 1 roll -{ -currentdict /StrokeWidth 2 copy known -{ -get 2 div -5 1 roll -4 -1 roll 4 index sub -4 1 roll -3 -1 roll 4 index sub -3 1 roll -exch 4 index add exch -4 index add -5 -1 roll pop -} -{ -pop pop -} -ifelse -} -if -setcachedevice -pdf_PathOps begin -exec -end -{ -currentdict /StrokeWidth 2 copy known -{ get } -{ pop pop 0 } -ifelse -setlinewidth stroke -} -{ -fill -} -ifelse -grestore -} def -/pdf_EuroProcSet 13 dict def -pdf_EuroProcSet -begin -/Courier-Bold -{ -600 0 6 -12 585 612 -{ -385 274 m -180 274 l -179 283 179 293 179 303 c -179 310 179 316 180 323 c -398 323 l -423 404 l -197 404 l -219 477 273 520 357 520 c -409 520 466 490 487 454 c -487 389 l -579 389 l -579 612 l -487 612 l -487 560 l -449 595 394 612 349 612 c -222 612 130 529 98 404 c -31 404 l -6 323 l -86 323 l -86 304 l -86 294 86 284 87 274 c -31 274 l -6 193 l -99 193 l -129 77 211 -12 359 -12 c -398 -12 509 8 585 77 c -529 145 l -497 123 436 80 356 80 c -285 80 227 122 198 193 c -360 193 l -cp -600 0 m -} -pdf_PSBuildGlyph -} def -/Courier-BoldOblique /Courier-Bold load def -/Courier -{ -600 0 17 -12 578 584 -{ -17 204 m -97 204 l -126 81 214 -12 361 -12 c -440 -12 517 17 578 62 c -554 109 l -501 70 434 43 366 43 c -266 43 184 101 154 204 c -380 204 l -400 259 l -144 259 l -144 270 143 281 143 292 c -143 299 143 307 144 314 c -418 314 l -438 369 l -153 369 l -177 464 249 529 345 529 c -415 529 484 503 522 463 c -522 391 l -576 391 l -576 584 l -522 584 l -522 531 l -473 566 420 584 348 584 c -216 584 122 490 95 369 c -37 369 l -17 314 l -87 314 l -87 297 l -87 284 88 272 89 259 c -37 259 l -cp -600 0 m -} -pdf_PSBuildGlyph -} def -/Courier-Oblique /Courier load def -/Helvetica -{ -556 0 24 -19 541 703 -{ -541 628 m -510 669 442 703 354 703 c -201 703 117 607 101 444 c -50 444 l -25 372 l -97 372 l -97 301 l -49 301 l -24 229 l -103 229 l -124 67 209 -19 350 -19 c -435 -19 501 25 509 32 c -509 131 l -492 105 417 60 343 60 c -267 60 204 127 197 229 c -406 229 l -430 301 l -191 301 l -191 372 l -455 372 l -479 444 l -194 444 l -201 531 245 624 348 624 c -433 624 484 583 509 534 c -cp -556 0 m -} -pdf_PSBuildGlyph -} def -/Helvetica-Oblique /Helvetica load def -/Helvetica-Bold -{ -556 0 12 -19 563 710 -{ -563 621 m -537 659 463 710 363 710 c -216 710 125 620 101 462 c -51 462 l -12 367 l -92 367 l -92 346 l -92 337 93 328 93 319 c -52 319 l -12 224 l -102 224 l -131 58 228 -19 363 -19 c -417 -19 471 -12 517 18 c -517 146 l -481 115 426 93 363 93 c -283 93 254 166 246 224 c -398 224 l -438 319 l -236 319 l -236 367 l -457 367 l -497 462 l -244 462 l -259 552 298 598 363 598 c -425 598 464 570 486 547 c -507 526 513 517 517 509 c -cp -556 0 m -} -pdf_PSBuildGlyph -} def -/Helvetica-BoldOblique /Helvetica-Bold load def -/Symbol -{ -750 0 20 -12 714 685 -{ -714 581 m -650 645 560 685 465 685 c -304 685 165 580 128 432 c -50 432 l -20 369 l -116 369 l -115 356 115 347 115 337 c -115 328 115 319 116 306 c -50 306 l -20 243 l -128 243 l -165 97 300 -12 465 -12 c -560 -12 635 25 685 65 c -685 155 l -633 91 551 51 465 51 c -340 51 238 131 199 243 c -555 243 l -585 306 l -184 306 l -183 317 182 326 182 336 c -182 346 183 356 184 369 c -614 369 l 644 432 l -199 432 l -233 540 340 622 465 622 c -555 622 636 580 685 520 c -cp -750 0 m -} -pdf_PSBuildGlyph -} def -/Times-Bold -{ -500 0 16 -14 478 700 -{ -367 308 m -224 308 l -224 368 l -375 368 l -380 414 l -225 414 l -230 589 257 653 315 653 c -402 653 431 521 444 457 c -473 457 l -473 698 l -444 697 l -441 679 437 662 418 662 c -393 662 365 700 310 700 c -211 700 97 597 73 414 c -21 414 l -16 368 l -69 368 l -69 359 68 350 68 341 c -68 330 68 319 69 308 c -21 308 l -16 262 l -73 262 l -91 119 161 -14 301 -14 c -380 -14 443 50 478 116 c -448 136 l -415 84 382 40 323 40 c -262 40 231 77 225 262 c -362 262 l -cp -500 0 m -} -pdf_PSBuildGlyph -} def -/Times-BoldItalic -{ -500 0 9 -20 542 686 -{ -542 686 m -518 686 l -513 673 507 660 495 660 c -475 660 457 683 384 683 c -285 683 170 584 122 430 c -58 430 l -34 369 l -105 369 l -101 354 92 328 90 312 c -34 312 l -9 251 l -86 251 l -85 238 84 223 84 207 c -84 112 117 -14 272 -14 c -326 -14 349 9 381 9 c -393 9 393 -10 394 -20 c -420 -20 l -461 148 l -429 148 l -416 109 362 15 292 15 c -227 15 197 55 197 128 c -197 162 204 203 216 251 c -378 251 l -402 312 l -227 312 l -229 325 236 356 241 369 c -425 369 l -450 430 l -255 430 l -257 435 264 458 274 488 c -298 561 337 654 394 654 c -437 654 484 621 484 530 c -484 516 l -516 516 l -cp -500 0 m -} -pdf_PSBuildGlyph -} def -/Times-Italic -{ -500 0 23 -10 595 692 -{ -399 317 m -196 317 l -199 340 203 363 209 386 c -429 386 l -444 424 l -219 424 l -246 514 307 648 418 648 c -448 648 471 638 492 616 c -529 576 524 529 527 479 c -549 475 l -595 687 l -570 687 l -562 674 558 664 542 664 c -518 664 474 692 423 692 c -275 692 162 551 116 424 c -67 424 l -53 386 l -104 386 l -98 363 93 340 90 317 c -37 317 l -23 279 l -86 279 l -85 266 85 253 85 240 c -85 118 137 -10 277 -10 c -370 -10 436 58 488 128 c -466 149 l -424 101 375 48 307 48 c -212 48 190 160 190 234 c -190 249 191 264 192 279 c -384 279 l -cp -500 0 m -} -pdf_PSBuildGlyph -} def -/Times-Roman -{ -500 0 10 -12 484 692 -{ -347 298 m -171 298 l -170 310 170 322 170 335 c -170 362 l -362 362 l -374 403 l -172 403 l -184 580 244 642 308 642 c -380 642 434 574 457 457 c -481 462 l -474 691 l -449 691 l -433 670 429 657 410 657 c -394 657 360 692 299 692 c -204 692 94 604 73 403 c -22 403 l -10 362 l -70 362 l -69 352 69 341 69 330 c -69 319 69 308 70 298 c -22 298 l -10 257 l -73 257 l -97 57 216 -12 295 -12 c -364 -12 427 25 484 123 c -458 142 l -425 101 384 37 316 37 c -256 37 189 84 173 257 c -335 257 l -cp -500 0 m -} -pdf_PSBuildGlyph -} def -end -Level2? {setglobal} if -currentdict readonly pop end -%%EndResource -PDFText begin -[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/space/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 -0 TE -[1/dotlessi/caron 39/quotesingle 96/grave -127/bullet/Euro/bullet/quotesinglbase/florin/quotedblbase/ellipsis -/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE -/bullet/Zcaron/bullet/bullet/quoteleft/quoteright/quotedblleft -/quotedblright/bullet/endash/emdash/tilde/trademark/scaron -/guilsinglright/oe/bullet/zcaron/Ydieresis/space/exclamdown/cent/sterling -/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine -/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus -/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla -/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters -/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis -/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash -/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave -/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute -/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde -/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute -/ucircumflex/udieresis/yacute/thorn/ydieresis -1 TE -end -%%BeginResource: procset pdfasc.prc 6.0 1 -%%Copyright: Copyright 1992-2003 Adobe Systems Incorporated. All Rights Reserved. -/ASR { -13 dict begin -/mirV? exch def -/mirH? exch def -/center? exch def -/autorotate? exch def -/angle exch def -/shrink exch def -/Pury exch def -/Purx exch def -/Plly exch def -/Pllx exch def -/Dury exch def -/Durx exch def -/Dlly exch def -/Dllx exch def -Dury 0 eq Durx 0 eq and Dlly 0 eq Dllx 0 eq and and -{ shrink 0 gt { GClipBBox } { GPageBBox } ifelse } -{ ITransDBBox } -ifelse -/PHt Pury Plly sub def -/PW Purx Pllx sub def -/DHt Dury Dlly sub def -/DW Durx Dllx sub def -angle 90 eq angle 270 eq or -{ -PHt /PHt PW def /PW exch def -} if -autorotate? PHt PW ne and DHt DW ne and -{ -DHt DW ge -PHt PW ge -ne -{ /angle angle 90 add def -PHt /PHt PW def /PW exch def -} -if -} if -angle 0 ne -{ -/angle angle 360 mod def -angle rotate -angle 90 eq -{ 0 DW neg translate } -if -angle 180 eq -{ DW neg DHt neg translate } -if -angle 270 eq -{ DHt neg 0 translate } -if -} if -center? -{ -ITransBBox -Durx Dllx add 2 div Dury Dlly add 2 div -Purx Pllx add -2 div Pury Plly add -2 div -3 -1 roll add exch -3 -1 roll add exch -translate -} -{ -ITransBBox -angle 0 eq -{Dllx Pllx sub Dury Pury sub} -if -angle 90 eq -{Durx Purx sub Dury Pury sub} -if -angle 180 eq -{Durx Purx sub Dlly Plly sub} -if -angle 270 eq -{Dllx Pllx sub Dlly Plly sub} -if -translate -} -ifelse -mirH? mirV? or -{ -ITransBBox -mirH? -{ --1 1 scale -Durx Dllx add neg 0 translate -} if -mirV? -{ -1 -1 scale -0 Dury Dlly add neg translate -} if -} if -shrink 0 ne -{ -ITransBBox -Dury Dlly sub Pury Plly sub div -Durx Dllx sub Purx Pllx sub div -2 copy gt { exch } if pop -shrink 1 eq -{ -Durx Dllx add 2 div Dury Dlly add 2 div translate -dup scale -Purx Pllx add -2 div Pury Plly add -2 div translate -} -{ -shrink 2 eq 1 index 1.0 lt and -{ -Durx Dllx add 2 div Dury Dlly add 2 div translate -dup scale -Purx Pllx add -2 div Pury Plly add -2 div translate -} -{ pop } -ifelse -} -ifelse -} if -end -} [/autorotate? /shrink? /mirH? /mirV? /angle /Pury /Purx /Plly /Pllx /Durx /Dury /Dllx /Dlly /PW /PHt /DW /DHt -/Devurx /Devury /Devllx /Devlly /pdfHt /pdfW] -bld -/GClipBBox -{ -gsave newpath clippath pathbbox newpath grestore -/Dury exch def -/Durx exch def -/Dlly exch def -/Dllx exch def -ITransDBBox -} [/Durx /Dury /Dllx /Dlly] -bld -/GPageBBox -{ -{ -currentpagedevice /PageSize get aload pop -/Devury exch def /Devurx exch def -/Devllx 0 def /Devlly 0 def -ITransBBox -} -stopped -{ GClipBBox } -if -} [/Devurx /Devury /Devllx /Devlly ] -bld -/ITransDBBox -{ -Durx Dury transform matrix defaultmatrix itransform -/Devury exch def -/Devurx exch def -Dllx Dlly transform matrix defaultmatrix itransform -/Devlly exch def -/Devllx exch def -Devury Devlly lt {/Devlly Devury /Devury Devlly def def} if -Devurx Devllx lt {/Devllx Devurx /Devurx Devllx def def} if -} [/Durx /Dury /Dllx /Dlly /Devurx /Devury /Devllx /Devlly ] -bld -/ITransBBox -{ -/um matrix currentmatrix matrix defaultmatrix matrix invertmatrix matrix concatmatrix def -Devllx Devlly um itransform -Devurx Devury um itransform -/Dury exch def -/Durx exch def -/Dlly exch def -/Dllx exch def -Dury Dlly lt {/Dlly Dury /Dury Dlly def def} if -Durx Dllx lt {/Dllx Durx /Durx Dllx def def} if -} [ /um /Durx /Dury /Dllx /Dlly /Devurx /Devury /Devllx /Devlly ] -bld -%%EndResource -currentdict readonly pop -end end -/currentpacking where {pop setpacking}if -PDFVars/DocInitAll{[PDF PDFText]{/docinitialize get exec}forall }put -PDFVars/InitAll{[PDF PDFText]{/initialize get exec}forall initgs}put -PDFVars/TermAll{[PDFText PDF]{/terminate get exec}forall}put -PDFVars begin PDF begin -PDFVars/DocInitAll get exec PDFVars/InitAll get exec - -[/NamespacePush PDFMark5 -[/_objdef {Metadata_In_EPS} /type /stream /OBJ PDFMark5 -[{Metadata_In_EPS} 17770 (% &end XMP packet& %) ReadByPDFMark5 - - - - - 2006-11-07T02:04:31+01:00 - 2006-11-07T02:04:31+01:00 - 2006-11-07T02:04:31+01:00 - - - - JPEG - 256 - 212 - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA1AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8APFUCgBG2KqqpT4q/hiqq ibb9fHFVdASCANvHFVZE9+u1MVVireihruHIp81/5txVVjG3h498VVlSh2BPgRiqoFOx8OuKqoXc E9/A4qqgA133xVUVeJp7YqqAAnf8MVVFU9enbFV6jv2GKrxt8xXFVyb9cVVWp6zHwRP44q2FJNa7 eGKtgAU3xVePsiuKtkUGKtgDfvirlFGBJxVU67nFXFBWpFcVbpVQKkdhTFV3psOjkDuNsVXAOf2t vA/1xVwBP2qHwNMVW+nU/YU/hiq30kofgIPscVeVBADTqPHFVRAePQUxVWU7Vp0606HFVRFXYe2K q6gEAqdsVRBT9yhPVX2+lW/piq9KhhtQHviqtGrVBxVUC1IOKqqL0GKqoUhieoO3tiq9QNjiq+lP niqoAdtqYquANB2rtXwrtiqqAOIqanoT74q30XlTpiq6TaR/EcB9HH+3FV4bfFWxQj7sVXgbk/Lf FV42PhXFW+PQDemKrgvcdsVcoFD3xVfStN6Yq2F3P4YquWh+jFWwKH54q4kdRuMVb2+nFXUH9cVe UU+FVOwBLDvuaYquVQB1xVURSK7bfhiqsq7eFN8VVUWpp7bYqiI1rEQezKfwbFVSMAHbbFVZF26U 64qqhdxvviqqqitQd++Kqikjbuf1YqvNABv3ocVXCvQdPx/z2xVep4t/Xpviq2SaJF/eOF+ZxVJN Y88aRpwKsTNKor6SfdUk0AHvirE5fzN803POfTtNgWwALC5nEgj4jqRIWQN9Cke+KoF/Mnn7UI3u 47uRoDQj6hAvA8fhorsvx04/sscVSofmT5y0qakl1O/DrDd26mvfduPMA+NcVTfRvz0uzdBdSsYH hagX6sWjdf8AkYzhvwxV6noPmLStctTPYS+oq0WWIgrJGT0Dqele3bwxVNiAd/uOKruNdxiq8AbB jT2xVcqkD3xVoiu1MVXBRTfFWwtGoO2KtkGoxVcFAFBirgmKt9+mKvJqvX4ozT+Yb/qxVcrRkBg4 r3rt+vFVaM77ECvXttiqsvXr+GKqoQglu53xVExH9xJXYgr9FSRirdQOnamKqyj4SK4qqKvelaCp Hf6MVVlG1abntiq9TVjToMVX1O9cVXKABXfwH0b4qll5qzLIYbbgSlPUkbdVBNDsOpxVItaeZQ37 8y3j7RRuA0akkfEUHGvGu1fppirEdSto0BnjMc8fqAvNdAyR141ZmC09TptXr4mmKpTe6k93cLKX a4K0ZZLgKU5KCAUiACDtTlyPviqqmo6szmVb27j3/wB1SBBvt+ytTX3xVWuNQ1aeD0LuVbyOnwme KNnXbtIqrIv34qkz6WjSFmXl1DLs1fvDHFURo2rav5avRcadMVTo0DAshA/ZZT88Ve5eTfNUHmHS RdqFS4jPG5jG3FiKjrvQ4qyJdxX7v8/oxVcoJO438cVVASK4q3xHXFXDcbD6MVXjemKtgGgxV1Ns VcDTbFV1Kb9cVeTKD2Jqdhiq6MuyUakgNCS1Diq9YUBIA4+PA0+nFUQiqF2kb2rQ/qpiqokc1NmV +O/Xj+uuKqyuyxuHjb4qGo36GvbFV0TxvtyFfniqIUfSDiqqo232p0xVWFTtU/LFV6rQGnTvirgN qmpPtirHPOuvXWnwWVhp7KNR1a5W1t2bcRhiA0n+xBxVBxr6d19UQuLe1JDPIaVEdYwSR13Uk7fq xVjc5ld2m1Aj0Hq7BT8UpJrxUdeJ+W/yxVLdaM86xTTARx1pFap0Wv8AN4nFUJDEFIfavc0qBXFU 3tYzIApUHY0rTf6MVR6aWj1MqUIoYwNth9HfFVG50pR8QUgA7dK179cVSi/sAoAUgsevtTFUT5a1 S90K/Mlo/COagmRt1Irtir3PTLwXlhBcUAaVAxA6VPWn04qiwN69MVXhfh374quxVtQeuKrlp1/H FXEgdeg64q2SDuOmKtruRTFVRh8OKvJoYZS4BBAqO3vircMT+mppQUGKqyI1dx7fRiqqkdO3XFVV Vb7vxxVWUuCKVGKqnDmaSIp9yN8VXJbgUIDIR1Cn+tcVV0TagYgj+YA/qpiq9UuKnjwf5Gh/HFV4 aSMVkjZfoqPwxVtJo23DjbahxV5f5l1JpPzZsLd2Cx2MJ9FTuDJNC5qfpK4qjfL+q213doGlPpAM 88lfipEvAtX/ACmJbp1xVCpdPd3bXsqBUqQgfem/ZRTFUDr8gklSlBGGoFXp8++KoWC3ZqMBSm2/ amKp/ptsoiUyBd1G59/HFU4gMSOBUg9+NNu24xVZOnwM4kVlJ3B2NfvxVI7uNWYkAAdBT8cVSm5i McgblUeHzxV615JvjLp1shI4mPio8DHQEfdvirKg23TY74qvG/XfFW6bgdsVXKANsVXBafTirZUY quCHbFW1Sm+KrqE18MVeexqAymm9RirSr8IFKDoP1YqvVB12I6Yqu4L3AriqokaE0PU9sVXrEtRt v0xVU4dK9O3z6YqqCNadMVbWKg2G2KqgjAxVVQcSN+pxVa/FifssKkEGh3BOKvEvzQhi07z8L9R6 cjwQTQlRsXVvTI32+ypxVC6JcSW1nqbKnGSR1iUeHqNyem/iBiqdSyxRAqKiu0ak70rQVxVBkji0 jGiqKmp6kmg6+5xVfbaxpEMohkmUHZeRqFr7t9kffirJbRYJ1Ho1BYbGtR898VXCK5RwS/Ir2YAD 8KYqskSUhigBJryA8a/TiqAkhuJG3PHkd6b/AH4qgLy0MatzbkSBx2oduuKvRfKCLaWkJk6tRwew qOP4hsVZpHuor0xVXVaAYq3TFXUGKrx+OKtDr74qqUp+GKuHTFWwK0HvirzpGow326jFV1Vqyj9l mH0VxVUUdKdu+KrztQ4qvUjanXrXFVRa027Hb6cVVFHvt4YquWm2+2KqqGnTwxVevTxB7++Kr1U1 Ue4xVoBeT07s368VeS/nZZpPqOirDvdv6sZRd24gqy7f8FirF7T6xb2xMSl3kYNyI3UCo6da1qMV TURGOwAf+9lOy+2KrFoXVWqFUFi21AabE1riqV3ieTVnSG5iaUUpQyFTUmp+MsOvzxVEwW+nxTRP oGoy2IJqLcyF0rTelWZTirLtCvdULPDqMq3LPThOqqpPajBQo/DFUzEttBBPJJuQSad+nTFWBax5 t1s331bTbGqg0LNU1+muKpa2r+bUuUF/bkWztxcfABT2IFe/fFXq2malLc2Nr6ZoPRi40HUlQSPp OKvSbdGWFEJ6DFUQKdsVd2xVcnQnFXAnttiqoOmKuOKu6HFVRU3xV5qCAafeMVXybXDg1AJqPpFc VVFpQeHbFVQH9k98VVBU9foOKr1BO2x9sVVFoCDXbxxVUWnf5YquUCvXpiqpuv8AZiq9G+Jfniq2 pHP/AF2/XirxT8wLhI/zQikkLOkUcfwdgfSJpt88VUIIZrJkE+yKHaRSQPjpsR8y2Kut757rjJI3 SvBelPAdMVTO4s1/R/Pj8czKC+/SlOn04qlkflSWeG7gi+H68vCSaoEigGo4k1+Go+Je+KombRrL SdFstGmtlmubXmzaiWCu3qMX4rSpCjl0JPjsTiq+1mez1G2eBmK1UNyqanao3xVX1q4urq6WMNIk QTlwiC1ahoSaiuw8MVY9BYakvmSRZJ5V0Jgx+sFo4ZWAj2CcwW9T1GG1CPo3xVfpq3s93c2k5aaB KGKRweRXoCw8fHFXtHlHQLYQpcyDmoC+mBXqoABP3YqzBEUeP3n+uKthSfstt2riq4eqB0DfLFVw ZhsVK4qvUimxqcVXb4q11OKr8VXx1DVxV5lHNC1FDdO3f5UOKouShlr4qCPuxVyAb7YqqBRTfoe+ Kr1B+jFVXYEfrxVtVPJuRqG6U26YqvU1G/bviq9ftDviq9RsK/2YqqRgeotR1NNsVdTdx/lt/wAS OKvDPzgtTZedob0iqTxQyj34Eow9tlGKoDUrm+nZD6wa3U+nHQAMVCgjf5DFWtPb0yqDvtQinTFW XaakdwgExqF+yp9vliqbxReiKoAR2FCeu+2KqM9tARJc3QEzjeKPjTjxA60pirFZpmuNSVEoFjp9 5NTiqOuLZWlilYVVaA0O4r3rXbFU2NtELcRSioXdT1GKoU2sKOZwORUU5d9yK4q9e0O0+r6Xao27 +knIe5UE/jiqYEgA+wJ/DFW4x8C/LFVRa4qqA7Yq7ip2YA4q4Ig6VHyrirZiYn4XoPkMVdxmG1A3 v0xVcjsKhkIr364q87Kq1PUVXA6cgD/DFV5jgcVIKGlFKkimKuEFwpHpusy/yvsafOmKr1kYE+pG ygdTQMPwxVVRuQAUgg9cVVFp4AUxVunTfbtiq4A/DQ7/AIYqqjlT37jFVRT71xVViBDr33GKtEEM 3uzfrxV5V+fEdkLLSpCP9MMkiggdYuILA/7IimKsQ5wva2TRsONGHAAUFAor+OKq6KPrKlRSnWni cVT1ZHR40Q0Dfr8cVZJplFt6zMTx3GKpd5juZGsJPQbjyIBVR8RSor74qx2zIhcXEMBlhA5SFaFq A7kqKtT3piqMv9esZoh9WRwBRWG5UV8fDFU8jmSS0jcUBZBVadDTFULAXuNQtbY7+rNGlOxDSAEf jir2lQNqCg7DFXSV4t8sVXr0GKqi9MVXA0+WKuFTiq4VxVsbHFV2/wAhiq4Me2KvOhXt1xVcPs74 q4H3ofHFVWNjUhSQD1piqoqruSgJ8aUP34q36YO6syHuD8Q2xVwE4cDir+AU0/A4qvEqBgGqpr0O 1MVVlI2PY4q2hrQV+fviqrG9WU0+GopirdQZHXr8R+jfFXnH5o3mjX7RabLbG4nsqSvLyK8A5C8A R1rVa4q80kW2ttZaOGIwR+gjiMV4jkeoqSdxTFU3tqfBsORJPvTFU+sYudwADWi7V6bbd8VTmAks sRajMQAKf24qtvZdAb1v9IjleNKuUYEkjbah+j6cVYXLDqCX0NzakyIRzljGyhdmKg16EjoMVWaa 1vLqhOqNIrMTQMK8qGgHUfLfFWWyQyWg9CSrIQCj+IpiqM8mWrXnmi0XieERaYk9vTBIJ/2VMVeu e2KtsKoae368VVMVXr0xVsCo64qvANKDFW8Vca7U2xVsHFV4oMVedkEEYquCj6cVboQPniq9QKbd 98VX128AcVVYwPwP6sVd2D+AHzxVfUmgb4h4dcVXqEIpxA/1fh/ViraxUUNG/wAw46H5jFV1ZFNW T4f5lNRirHPOmvyWFmbSylpqN8zpCQaGNBvJL/sV6e5GKvPPMapZWsN3cO5UqUkZm+03IMGev2jQ k798VYb+kf0pr014eQjkPCMGmyqOI6dOmKpvbT0dFY0dDRq4qyiyqPTcEmo3p8+mKo6dop5F5irL XiBt1FDXFUln0OEXDSQwqC1OIRQOg9qYqpSQWSwhJJ3WWp+DcDp9HfFUue0laeMxTOrIaq69QPY9 sVZHC0sdkGnmMzEAIGJ+EKKf0xVmX5XWBZrzUmWqgC3hb3ryff6FxV6IADuRirm+yfcqB9+Krx0x V1SBtU+2KqwpSo2xVuooMVbI2xV3fFV9Bire9K4q88pTr+rFV4rXelMVXBfHv2xVvYVxVcPs7Yqq xg81xVqP7I+Qp23xVcK7V8cVVelDiqyW5ghUmWRUHgTufoxVAz6ySKWyn/jKwp9wxVjN+k11fvPO ecgHAOw3pWvEeAr2GKqGu+Xk1XQ7i04qZnWtuzfsyruprTbwxV5DpVo9vIFkUxvG5WRabgqaEfeD irIdStqwrOmzr1I6/TiqN0vU6wemzEOBuP4Yqm0N3ydeJqSBviqvJHczyKbdyqjpx64qoT6dOrtU szoKtzqffviqjQlWBQK46lQANsVdaxXF5dx2duavK3Xsq03Y/IYq9f0a7sdPsobKKIRxQgLyWlSe 7sO5PU4qnUNxFMvKNgynuDXFVU/ZG+xb9QOKrhiq8dcVXptWv0Yqurt74qur2xV2KrwKYq2GANK7 nFXn/wCGKt9j398VcrYq3Unbpiq+q0xVUiarqd6VxVpNwD7Yqo3N/Fb/AAkF5KbRr138SemKoF7+ 6mFGb0lP7KVB+lsVUgoAXbY/Riq4KzNQLU+OKoKaBlnIB3qScVR9uoKBQKkdTirCfO3l/wBHUP0h FH+7n2nIGwboD9IFMVSiKEsnE9KbE7j8MVSi6iMDlZR+7/ZYdj1G+36sVahu3QjgxqvSuKprb6vO nGRoZK9Cy7gj5g4qjG81KIfTlDkNsKq1RX6MVUbE32rzm3sIy0p3kmcUjRfFif1DFWd6L5ci0aFl jkaaaYhpJTtXjuKDsN8VTU/GnLriqxOSEEEr9OKpzpOtMWS3uWHwn4JTt2Ozf1xVkSkEAjFVQMO3 Xviq4GuKr1+zirYr2xVtjRaj7WKrg4KjYg+GKt132xV5/wAZEYMy1Wv2l+IfT3GKt8lYkg1G/Tf9 WKu9+2Krvo64q39nvXFXeqkVHduKAipOKpXJfTXI4x/u4unIV5N/TFVqKqgBRSmKqqxSMQQK/wBM VV/R4KDs1Riq/gx3I2A2A6eOKoWaP98WA64qirY8EHvirV1AlxC8UihkcEMp3qDscVeYTwTWF5Ja z9UJ4kftDs30jFWp7YPDzqHTuO/3Yqkdxp0buSo4k9KYqpUureOleQHTscVUDdTy1DmiAVI/rir0 fyNYFLWKYUQMheRe5aQ1X7lGKsxJLKKb0xVqP9pQOh/A4qtf7Qp3xVZxocVVLLV5tMuUZnP1V2Cy oegDGlR4YqzeKVHRWVgynow74qqrSu+Kr12OKrwaHFW+e9KYq2TXFW16Yq89rWm2/tiqqWJU86OA K1bc7Yq1RDuCVPgdx9/XFXUZRUgEeK7j+uKqU93FEoLHrsor1OKoM85m5zU6/Co6LiqokfI0Pwjp XtiqvHGkakdR4nriqqFQ1I3I64qs4tG1VFR+0pOKqnONhQCh8MVUpVNAPoxVfCKKK9jiqJVaqa7Y qxzzRohvbFpI1rcwVMfuP5fpxVhdqtFJIPJR06YqhtRtY3AZtm61XqMVSieO6uPg5fuxtWlK/OmK pp5S0VrzXI6V+r2VJrh+nxA1jQf6xFfkDirObSK5s7tjDyktWJAj60rv8QPbqa4qm2n3yXJmjQMT HxJJBANa/ZJA5DbqNsVVmAW4BH2ZFIJ9xv8AxxVqUAryINa0GKrCw23+jFVOUKQWIrQEEeIPbFUz 0DV1tFMUlTFy39u1cVZbHNHIAyEMOoIPjiqsPniq4Yq2PwxVseGKrlrXFXnwO4riq9aVbbsf1HFV gFRiqnPLHBC8shASNeTk9gMVSPT47ie4e/uiWeYloUJ+xEd1WnY064qm6NVlBHU/D4bCpOKoiFB8 W2++/fFVSgrTFVL0Aeh4N4/7WKrluAKLKKHse2KqwAYArQjFWmjPE17b1r4YqtU06b74qiFrtiqn dTLEpZVLuBURrSp/4IqB9JxVJ7yXTbm0MlwpEJkZBIaq8ci1qnwhqUodj+rFWKX2iySRG4t2W4iJ OyVJ4+Pv9GKpTc+msYWnFlG60pTFWY+U9O+qaFHyQJPdEzue5DfZ9/sUxVOUtxxXbb9nFVC401Zl AYfZIYEEggjuCKEGnhiqvBHcKirI5dQfhZt2+RPf/Priqo1OJqO43xVDsW5UGKtyfYI9v4YqgILh zdPQ1ULVaePNgf4YqyDR9XNsTUcomPxxnx8R74qy2BoZY1kjJCsAwoe3yxVWUOPAj264qu9QjqCP niq/ruDtiq5TvX3xV58MVVA1CBiqn6icAzEAAVJPQUxVIJbttTvC0YBsoTS3J6SSCnx/6q12Pj8s VRsMA+sHjXilKsPBen34qirMKyq57DYbDqMVRMRIdh+OKqp2G29cVcCOm1cVa4ilKVxVZ6bIxMe3 t2xVVWQcfi2+e2KrKqppXFVT1dqRn4j37DFUOKo1PHxxVUKh13NO4psa4q0VV1MUwDxtsaioIO24 6YqxPW/K4N9C0SM1vJInJhVqoCKgnsQNv9X5YqyeOOQvRhRO30fPFVYdT3xVYFB3IxVrt8sVUnrQ 9hUHFVHkDyB9jirRNNqDieuKpfbgLG0vX43r3/bxVFxyqtwyA/C+4PviqZ6bqdxYzhlNYm/vI+x9 /nirMLK+gu4xJCwbxFdx7EYqiwSN64qvBFRUVHjiq4BSKVI/HFXnoqO+KuVviG9RXfFWO+Z7i4k+ raTasfUvGP1l16xwL9skjpXoPfFUTY+hEtEAWCECOJewAABp9wxVMbMBUHNSC/xMD1BO9PoxV1jt bqoNeJKk/wCqSMVV3+Eo4+k4qrCh8TirZNCO+Kuq1NhTFWwdum+KuYLv+Hhiqk8VacWKnx8MVVEA 2FKAYqu48iDirQjYHcUp44quPTFVIqHmRFP2asflSn68VVJgRQjtsfauKrAvwn78VU6gigFMVWmv EnFVJm+A/PriqgTuaeAOKqb1AB38cVQ6R8LORe4LH72ririweAMNpE3NOuKo5B6kSsDuVBp2OKon StQksb1JN/TJo6dNjirOYLmKZBJGwZW6EYqiCw2oO2Kr1I4/FirztgRuwKjsabff0xVTuJ4reF55 WCxRjk7HoAMVYhpFxdXk+o6m/wBi5dY7IEfsJWhHzLfhiqewxVlt4FPwj4pK+A6ffiqcxxr1JJ7i vTFUNp7Ex7bH1ZRT5M2Kq8iVQ79DiqtGQyDbp3xVug6Yq2KU64q4dNsVcRtvtirga0B+/FVReNPf FW+QHfFWuVeh+WKqbrTp164qp2zj15K7UVRXfxOKq0jAg+4HXFVMH4WqO38cVU6b0HffFVPkCTXp XFVJ/u9sVUf2qDFVKVqH4jtXFUNHdRyBowQabE/wxVTs5GPKV9g/wqD4DviqZ2LBbdVJ3Wqg/LbF XSkVqu+Ko7RNbeynCuaxNsynp+OKsoTzLpBfi84icDZZKr+PTFUZFqlhLThdQuT2WRT1+RxVhKyu p2Ox6r2+kYqxPz3fCWGPRrWsd1esARH0C/5Q7eJxVE2UEcPoW8QAjt1VVUewoK/diqY2PF3ll67l V8KCg/WDiqbVpEO5pX6cVQOkMSGDGnCeUb7dWYCv0nFVdSprUcTUhh3r0xVVgoY6e+Kqp6jFWyOl N6YquA/txVaK13xVwA5dNu+KrjUA+GKrUqakmp7VxVcF3Pegriq1gKVO2KoaP+/k/wBXbFVUE0I3 6dTirQK1PY0xVZX4hQbd8VWMu5p1rXFVKb76AV8a4qhxIC9KbjriqhdsBGTUHFUotCy8OX2jUvTo CcVTCFC4DP8ABHGPgHQkjviqtYyKDItejt+PxD9eKqryAE1xVagBTbqcVVxFHdxASf3qbA9TTFVK JBaqxc0RK1J6YqjJpRHG0jbKoLE+w3xVgOkSnUvMF7rMlfRiBihr0qaVp8lp9+KsjhbhC8xHxtUq PfooxVG2ZMVii1rTiSfnuf14qnBP7tadaChxVKbVuN7qFqCeXJZoye4IB/4mDiqMuGDMkw2EwFR/ lgbj6f4Yqq28lOSEgsKN/sT/AG4qrFiRt0xVVWlNvuxVxJrttiq3kASTiruW3Tvirixpt9OKro6E 798Vb3rQCnhiqxyeJI64qhYi31igNKg7/KmKot4J44wxHFXGz+O2KqLEchXoR9OKqXI+/viq00O+ KodmbfiKneoxVCL65uCCvFSPte+Kpbrl0bazdmIUKN2Y0FSadcVY9Z35Z+T34T2QKQO+/IMcVTNL t2dXW+eQ9Qg4hT8wFGKphp9wpaQv9pmA9qgUP44qj2dXIWnxYqu3Sg6U6n/axVDTXqQygByrD4tg a/T/AG4ql76hPqJaVyfqsTFVQihZx+vFUz8138dnoN05YB5EMcdB3cFcVSTRLP6tpVpaMKSSfHPT sW+Jv18cVTh6HioO25PzpQfrxVG23F4ZEBBam3zxVM0cGBGPdQfwxVKWV4dbim6xzq0b+xA5J9/x Yqj3QTclVuEce4atPipUH6MVQH6Shj1CHmQskkZV1NdmDfd44qnCEGld1piqqrr0xVxda9cVW9sV bFCKd8VbK1IFcVVEAA2xVokk77dhiqk+xp27+GKqIPGRXHQ1A8emKoqS6b0ljY9OgPviqDdqgHqu KrC1T13xVaSD1FaEYqpsUDEE4qhpGAJAbc9u+KpB5nurays45L1K23KksnFnRSTsHKghN/HFUmXT tEn4S2zBQ24MfxqcVTC2Flb7xqGkHcim/wCrFVaC5KGpoWbdhXudziqJ/S0cJ3B3NBsSd/bv9GKo ebW5XlaDgYlWnKQ0qeRoABvSvviqItbaNIzcTmvCrk7kA0qetan3xVDWoZLEHrLcuzKR1HqEnb78 VQ/nW+E+q6fp4asYkR5l+bCvt9nFUzt3qZJn7UVPoNW/gMVRlnEzySM32QoX+J/E4qrae4Wdoyel QDiqZiT9yafsHj9A6Yqhbsv9VkkjWsqlXQbVIRgxA+YqMVQuoT3UlkJbGkgkKv4VFD8vHFUj1mO+ gniluGQXMKhmSIEIVbkahaufYmvb3xVkuiXy3NmrA1dRuMVTNdvi74qvoT12P04q3UBafjirkcb7 fTiq9XUdd/nirfMdsVadg38MVWTEcOXh1GKqK8WQGvAhuvz2xVU9KFTUnkcVUJ2TmQCB3oPliqiW A6mv44q0Klmpv4YqtkdAN6b+H9cVQbC3LGQVDg9TuPbFU38twQXaXttcxrLbyIqTQsAyuG5VVga1 xV5r5p8mx+WNTEMMssFheOTYXCkgUpUwyFgyM6diwqy060OKpONWvre4e3nkjmiShBcFGNQDuVqO /wDLiqZQanNLEGs4CFbYu5oo+VNziqKtRN6guLmjla/EelKUoo7YqrpDLPxIFGlkDAdqDpUYqmuo fDaJaJ1k2b5d/wBWKrVA+uW60AijBfv2/pirE1nn1DzLLdfCVXmYqEGu/Bduo+kYqyrkFEcX8gq3 bcb/AK8VTTSgpt692Fae537fPFVIOI7ypPHl+vFUwLleQPR1qaU+0MVWwyDgN+nTFUFaMsEk1oxo I2LxD/it9x93TFVLU2US2dftszqi9aqFqw/sxVCafM2l6n6NaWlx9iorxJ6DvtirLUkBAFa+2Krw 9Ca7eGKruVR1NMVaU77YquZwRTwxVslq0GKt9SCMVU3YAMDSp3xVCmajsAajrT5b4qqySl9gewB3 GKqMvGo3Jr3xVTkcKfEYq1GwLmu5IIxVC3Eqg8ajrsMVQpcEkAgV/XirJvJsZFtPKd+bhQfZR/bi qbaxpGnaxps2nX8fqWs1KhTxYMDVXRh9llO4OKvLtQ/LvzNpGo+pZ2qa/pzD7ZES3CoD0dH4hnH7 JjrXuoxVLDrOnkmIMIJIWKPBKpidGXZkZHCkFWFDirTXkEkJCyLxPhTFUdZa9o0Ef724VJQKUO+w 8KYqpT+ZtHaQFZzIfFVd/o2GKrrrVYeUbq7I3E8RQ8m5bcabU+nFUd5f/wCVP+rJ9U/xBz5x8vV+ pVrX4fs9q9cVZC//ACriktf03Xfn/vLX7OKpxa/4G9L93+lePav1fFUO/wDyr/1Fr+leXLb/AHm6 /rxVFS/4G9Pf9J09vq9cVdH/AIGr8P6T/wCnfriqDuf+Vf8A6Rj5fpf1/TP2Pq3HjUfa+nFVPU/+ Vf8Aq2nrfpjn6g9D0/qv2vevanX2xVD6r/yrWiet+meVRw9P6rWtdvtbYqn8X+C+I4/pL6fQ/wBr FVQf4O/7WP8A074qqD/CHb9I/wDJCmKuX/CFR/x0K+/o4q2f8I9/0hXt/cYq2P8ACNdv0h/yRxVs f4SqafpCv/PHwxVo/wCEeW/1/wD5IYqhP+dK9VqfpLlvWnoeGKq5/wAH8Bx/SFKfs/V8VUf+dM5D /jp8t/8Aln/hiqlJ/gjv+k6+31fFWo/8E12/Sn0/V/D3xVBzf8q/5nn+la+31bFVh/5V7Uf8dfp/ y7fjirJfL3+FP0an1P696PJv770efKu9eO2KpqP0FT/j5/5J4qu/3CU/4+af888VedfmB/yqH68n 1z69+meS+v8Aov0PW4U/4+ef7mlOnqfHT7OKpCP+VH8fj/SPKp+1+jq9fbtirf8AyBL9j9KV/wCK /qVa/wCxxVVb/lU/rp6n6erx/d8vqfGu/wDw3zxVdbf8qk+s7/pv1O3qfU/w44q//9k= - - - - - - uuid:156FFDECFB6DDB118092E5594EE97C0F - uuid:156FFDECFB6DDB118092E5594EE97C0F - - uuid:14d3061e-60b3-46c7-a17d-dfb200a61c14 - uuid:27b1c81d-cfee-4eac-ad83-c1ffc70face2 - uuid:8d792e3b-86de-4d23-9c41-8638e152fb4e - - - - application/eps - - - - - - - - - - - - - - - - - - - - - - - - - - -% &end XMP packet& % - -[{Metadata_In_EPS} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT PDFMark5 -[/Document 1 dict begin /Metadata {Metadata_In_EPS} def currentdict end /BDC PDFMark5 -[/NamespacePop PDFMark5 - -PDFVars/TermAll get exec end end - -%%EndSetup - PDF /docinitialize get exec -PDFVars begin PDF begin PDFVars/InitAll get exec -0.0 0.0 612.0 504.0 rectclip -/D23 [7 dict begin -/Domain [0.0 1.0] def -/Range_lo [0.0 0.0 0.0 0.0 ] def -/Range_hi [1.0 1.0 1.0 1.0 ] def -/C0 [0.0 0.0 0.0 0.0 ] def -/C1 [0.0 0.0 0.0 1.0 ] def -/N 1.0 def -/DimOut 4 def -currentdict end {begin domainClip applyInterpFunc end} bind aload pop] cvx readonly -/Function defineRes pop - -q -0.0 0.0 m -612.0 0.0 l -612.0 504.0 l -0.0 504.0 l -h -W -n -q -1.0 0.0 0.0 -1.0 0.0 0.0 cm -n -0.0 0.0 m -0.0 0.0 612.0 0.0 612.0 0.0 c -612.0 0.0 612.0 -504.0 612.0 -504.0 c -612.0 -504.0 0.0 -504.0 0.0 -504.0 c -0.0 -504.0 0.0 0.0 0.0 0.0 c -h -W -n -q -true setSA -611.999 0.0 0.0 -504.0 0.0 0.00008 cm -q -n -0.0 0.0 1.0 1.0 re -[/Separation (Black) [/DeviceCMYK] /D23 /Function findRes ] cs -<< -/ImageType 1 -/Width 551 -/Height 476 -/ImageMatrix [551.0 0.0 0.0 -476.0 0.0 476.0] -/BitsPerComponent 8 -/Decode [1.0 0.0 ] -/_Filters [currentfile /ASCII85Decode filter dup /LZWDecode filter dup -] >> -pdf_image J0SGmoR]dgQUmoM8QP:]=ON$E;_klA+Z1*``jmU -e)pCmbiX7:fA?:M)-u+j7BG6]2k+XG!r7pm)DDR'!1IMa"DJcdUY9@L&8W9i5]B+" -BUWnA&o*l4UblgQYhVAO6I?3+%iV=MY%sKQadd#_B!bHM_N?)u'LO4C8o)+h.bR/&UO@0`kR\mp.DB#JFXXb?fl+&ChP3dR6)s7gOE1>;J -Wc+C40u@fIB'I$Ic*GRT/B`e$ZQ'lq]QYPO-QPU:9kU'C;O!*KkfCEXUA%W -E33n9AS7;;!GKY0ll.Q]YNq)N>Hs-&*ltX@^%BNTXP5dCZ0c?P35up6?Pj8/K]4u::,M/OVEpMZ\bP-BlT(guUh&R)9?-.)`c7GZ4O6Zcu>LF -)8RlK'.iC>S+D$l4%C5P\&rKUQF@:dd*rD9]i6NaCDn.Y8o51dJK[`#W515]Tes/V -9p8,m6W"K0C.qBGK^h-%f#5=JL=Y1T9MVHB\n>=`W^0CO-H.!QSYp$;N)CA4WCpQr -.VW-ePi]`1=-KHN_sEY"9t"%:9-(ZH>O+oAEnh%3e?KbSh:>ccV5l:&TA[),7L[-N -_]31jfXbE?nc^[f8AW:0Ou%jFd@)5)0$UF'(ZsfEN&,'`(s'QPVKcMgZ\EH:e1!F' -.@6TFMD9i6`#,6pAdlSX%F3)@)+TeU-l--7R6fP'kIg@-7W-Dq@LO/bA]#UrqD)4^ -69nBWd3.#1dElo.:XNn&2&;q9d'R+oc>[KW<:l1iOtM_c,n;3=/rPqBHlHq!+XBJJ -h4ql'CM>(7U1@#U7`"jp;=1j4p<;B_38PVb+E>IO']K?/hJfbP2p!>tIRaO')oI+t -,QuERA?o906YR_gB(%0F>=q2V:hL4d=>YcJP7g8P9.JmU-)H_=,@Y7k.T^L6aP4R4 -JoT`^EA6haZc,to/5;;8D"7`"``JuZ<#":ZoNnJj=/(Y?X')ZPNXS>`5:n/cs,#QBL/X$]=L06KS;5a9!ps`oE7#UdubU^3+!)fY8!_#2ArM0V4`Jucrs78Lc$PnZl&dDK9 -R=?u'jF\K$%<=kenMUig,W>qMI6Gic&1"]@'q-DNY6_^)fu0uRgpDrZ(3qGY4%eIC -!a:e.0$q_YY9]f@8WD^gCgC_A[L-2E3sfLeaJtjX:?gbp@5KL4g\t`m7d)Ta>[B[m(,*YhlSKs&$]CH<#N8'0 -ha8CCiBsA7\-"';iu$p;G[>Y*.*NRL;gh$#PD@.?1d,gIq2E9'M6T61M!)#D%9eqS -#3Io^__>oee.#fZXs6)P)HS+e",S6SJJlO:p7cl5Ki,qCC9<&s[9T_dCbdAUfk%F" -]SW&_")]$OJRk2%;E04(AleNQ&eW' -@5^'.nD=kYFO>8%6>1.,2o`]0)^B,5rQ$TbKF0OQ#BZ@WE%[,h^)(S#f,Mug0+Am>U8%Vt -)b)!cW:_5m)ukHX#YZslGfMto`:"Z=:WlVP`aojFc?AB(C2++"C^BrV`))GeUhiTY -bbja0B^Dlu<#\BdY9`OSDPWB^XH\[llK%5jB^1PTr#2A=7uL!b%Wk3/O;f@SDhQa^ -&9tBm"EB+;bU1X'#9HRt_!\#,d1E/p0EA(\]Gui9Q9ld>.<'EFC6s^7G/Zl=@Pf<] -=q^r],_7ogTg0;X6?gJ9-craeM4Q&gDA4`V-gcF4JrEf@Fqin7'd67rU50Me=P/1D -'EL$*TjT9A_Y5MCIR.ogTjl]lgn.+!/qIF+l2VV+,(W*4^I&>^iF4Md$M_LS(G4YB -7KPE+dP;99qBu=Z:TE7R=MVg8(f/Le_e_76E+9!)2pM9uXodL5CDXn*(uuTi$O/Q4 -DED@.3MXk;&+Da*#%Qk3)9b;DCe2Pu'LBg+)oi*^@=B)F[`>1')CkqS"3/95"@gt@7^&[A9e27.1k>_+Z:#)[1?_c --;Q&@nFh-_[_)W>&>Fi*#LjIYZrsMW'gZ1&8[t:a<[^77/Kn@MP3jm(U)&;b'[*ct -WVG4VA/3PJ/M4^3.MFNm&f3nBgdhi[!H'Y9G5:J!^^LjM_akREG[]W-@#qOeMEWqL -L,X`U@\J[3`[5+b5rAa>3&-.ITn`OKW58Y"ADr,M_2oNZ^4X]:)'c/ZF)j:YXQ%BQ -`C%#l#$RrYmW9e?4fMit@CdCDS2Gkj5A%37k`eDIW27^!7B5(#"=b;-&p.f]NR!-6 -k+:`e[#:m,O(d+(AFMj?bft*ul]N[?%^;1tn4;d%##:RNmbJ*Rltk%-d:'j97(1MH -WmX8iFJTgk.n4<-R`D:km#\7SUl_c)nEt'99L6]HU!"fl`_;&ce)Dc%+uIe)OI<>q -,:-lgTeoe94=;d]G_0B<6<8K3I!:F9RI;gW.C^&M6Fm>[8>;&gU7!RLQk]X$'nK3m -LU/O_@Mg87'S/L`V7A44^a`1t0'0_]+_VVl<#*5e(ZB7YoZ$Z_lS.:70ZX+HUC(9m -E#3*V1IER@bP3g9$8j4a21neYW]#OjBJsT^(_MQ_MCN'G\hur4r.\',C2?!Z6ooC, -).l]W$9pJEVE;!L4:51.Z\k\N<]\H$Lo>)LKH;$&SfD;"3am7NiNT9!.]Y27BS5#% -BNTAV`)('C)=3Y-%#W0RF@=U)X>!h=PM!9!h`_(B7Kb-Dn6E(Hd-=CH94GnH1BnV'Fr3Mg('.;J+^?`J`4[JP>S0k`__N#O -DVIHd(?'XJK.8YH>$e&jh?-)(+ab(`!&Z@_(o(hSo3>_tYW'n>2XuG[G.JLP9KJrr -;<*s$l<$1=RQ=l4D(JF"6_NE`cG]"F`3XiGKaq\Sb%'JH;fENlN.U/6;cRAN)=OdI -_5OB0r8ia4<@g]&VRf*X_)gW-N5P`ZaP`!;Tj;f&6\K;Z:AfAt[MArE9F]tt,7H1kfUsPO]uge8o\LB- -AhDNTgD&kbmBA=alS0Q511>DeJUA7<$=]A`(BKJ(:U=iSKJnH\_2:o'Legi5K5>&" -2^V?=KO#<%YHVf`PR?7rC`_6G?; -V039^5Vd.rcJl.'\rgmsE3a+`!OiF(kmDBA9rU(5Y3qH@lq0n3#n2er$O\7YFrWp* -ZcOkH`Ar656'NgCnFUO@iAPns*$ltoR7GEk><^\@H11Hpr1*(IJ?MHC1Qp$*>75Le^(RRl5JUi>!-oQ2NK-QDmW_8't-Q(u8)$=t?G^hYG9KI69 -CiQS3fS3nrbuCIM5 -7W7@qGKh+"bm=`QX'@Y/ZA/c\[H+:s[`_K*6d#s/!N&ea`N4C,;h[dm_)`5"Z4l1T -n,Xk\kE8gU0b8,)RK@4Ne93)+pa0oGH,?#=U6mKO'(psM/=(/g6!u['=qdT#'nKXC -FIRdaW[p0&'*2WnK%PRiqS!_o?6[noK+)()O>M[T(I;qh;+,tf(u8jLJKl"Z:#\") -9km3@C4ULaq;V7J,8^Ut33#Z+l9L".AS`)"r>*[hk!'dUJiW6)49do1VGKBt/Duin -`/IV6QKlBU1K)krU=5Th.25!4PS[bc5QprFCn7@iS8(GB=+iq]Nb7HX=*$&TkUqOM -R+J3:6bdh)O/h,UjF1pLNMkGUX*TIa(PrA.NKO_ldH'5J2k4n6k]!F(*!FFl[ta84 -+OSZ5Oioi'aXlhZs&s%(DK(\,`Agg78$&\QR/:[pn/PkHt*&u.6:(Y&e"@u*'2Gl(?qKH#I!$9I(( -qP=I);E>@MEN232Ou`]PA8Fc1>p#]]>>i[RM6IhoN).#(]5UlG3U&LB+c[?^NsHo) -A^sc]"VPP44k3KHYVgo436QR3b?\fSF/1I2)tn-%FDYPpB6C(AoD4JF+@kfAmCWt. -DUEUrClqsR8),#I<"kJ3Yd6`r9b^+7`3aOV&acXsq#>.4;Q+c$WU0L7@1^ -9OdI=q]6J\F;N`-Z(YNSLXb%=C=t25IKK^)=hh96!DE[ibTbN[BF!WBBRnPX0p,OP -<=+A3:4XWl2:F5qZSaP&5(mE/1_'q%UKqZdYW191hZL-UK;udL&N@VEA7M&jW+45K -NiILVdO&-Zk\au)9MhM!l/S>`H7uo6hAY@1(BK^'P#u;o:/B\DWog2$*EtWo!'\lT -!r0u-I;.9BeQFldNQCO'E[F$PT8o<'fO;.,n7TQ/"06+p8*_FSs,^r*+OKt9j -[SnW.a(@,1;>*].R*&sFfs9jiZ'rsM93HCE=R7UDNI@VMBJ^W%7[l]8cY2"c9fB%TXOj[6/_-mbg@3X-[MmCpjk[1M -]=%0o//@%3Oi_/)D1!rZ[+fG0o9mVA@i3j7[[W^k2O1`*D!Kb9SK;@Ph/9^.9oZTD -]r'IA\!tW+qbl9i2qq&-qgH9=E:DWZ/pBORdHEO"*7iY)O4imfFY1n6FhZgQlC2Kp -10#dfoVGI-FM_H=QM)Vg$'`kT31^!q;kMRu2"qZ[!Bs9mn*)l/PQ_@];3R(Z/kQdF -q*%Z?E+):9']hn_;j>6P57GG`3DNNg-!=>L`?eA\ZXG7H"S<:EKlJg(D4c&>F)+bDHoc0WGl/[`S#-5QR1%#.$i<'G:StjiH6Rb -`PHUL9f#@c?C/Xt^gEHtM0NDE-'<.T)(Q]Fc!sYs)f:LDbqn`+@biqZlZ1H6%eGEl)U>+@ -jdYE(V2/S4S$Hq<:=_(R[()TYE&N\!-:tmH44sCn,g5%;4g1pS9tpi$4AM)N_qIjt -)6#ep^p$KK$Bt]+4U;]45tFm?d()d[BS@dp;aYOE2&8V,9NN!pEHtMf(8[FF=%:/C -@TShkCkEmIZ70LpD%jRH=@nZt]r]Gsfm[6D1I67km_uiP/JeSl`a!C;4Ol;`V>T+U -(^:jq@2QuJA6Kfs@N8ho;fq#/:hC%I?r6cq,)5_Q$6qseAjR\O;KUGF9N'B:.o0+: -+dfd-eQJ99-->/$QdunOR%l6KJs'i;B*lLmR\i)eAXc/'RV5hSK&j2hQ86[qfdftr -CFLTiZ"_pHRgWc0X1um"YY8OZ]UJ!*Up-;GbAHq,QRT%RYkIbeGdX17pH%HhdBBD1 -C(4)8?)MgnRBoq1#3u:tC_5$aj'm-8nCefI/EIj2,6qWK+$,/u#E?/EG*mR#@:p%, -NNp&@%l5\H!aPU/Yr!e\amN_VYY>G?4t&i*SVH-3;$p82c\1pS'N$.`MD7dS"Z&B! -nM!k7BTWk[.MY;[25_WfVUV'//eru;.#UB7.Zps:((Gpu7Zh"."c0FCM%R+jiG.)p ->"odWA[eOYXPK'AA/B+Y-b#uB/lKP_(F&E=8@]F#guFqKKS3b[Z%+RMJHTrQ+\%TF -K-s2nLa!08d5i(B.:#lNF\6f.&ntDsSV]R3%g?,NZ'8'VlE"")&_oHG\u\LaC0#6e -E=NSf2$PbI)1uIq4V=Jp#)Ql:b7q^Xa0`4nJO(2M[IP)qU1"gOD1;pJEu7cQ@okCD -2+(?I%8j;2(HH@fZc2Z5kN$<96ihg6r7/R$jT-JRp7GroJJr\%^5\?g?tTBOS(9&I -=IA$!N!^+n3$NOuHmPN2%.LOL\A!^q3'PQjpBd-i%3`&)L9.UQM8;O,`=`@g@['hi -p6I+9>=OH(2&;'h7noFCU5-fB/"p"*.E,7j7'0%[U<(.fKug\=@\?DP&QUF$E]n4N -\J[mYn(NZmUaXTt\ohQ=>q3jq-DhK2?$8iL2YoP0[9"Z#1B+k;1[Ge$k%imYp,%\!K21)@sJq -R&A_KhlPor-A$>%RFX7QiDM=maMtBZbe#8;!F*aenPRc=!8o@"JFiuncmTOHW'0R# -1b"9cj&&2-N>TDHjPu`YNcQ?p+b[mlk8]4N88/_fA['mQi4*ML712X#JqX7o`f#KR -.n#8HK+//2:+F4JTKrj+U;W9L'%"KA'm1Ope-SDl^b'ZdohS*U>a@(25t?\$WJ?`LML\\Mgh8p?^UhmT7RL?;.l'$89B2Bbr$O -?]21BU]rT%F/3BoaiQbVlue>22Fb[p1.nFce>m`&eP44U9XE7,a;JbU\4a,]BO6&$ -[:Q@@P`h'rmN]_1K2?"c!M21RU9Q:bc>9UEORuR.FaOAb]A0^Cptr.+.E2s?)COZ\ --R#0@G=ps]'(Z2XOa+NBk?SuN?[+H\fY!;(Io#siCLL`aUT:g.)p@*Pmu%?.LKA"* -S*%_/f%4C9nDoT[nHrr^%UmB%j,Of0Hc3Y]4t!q+Z>*$a@B28_eFf=fJN\\j)b\'@ -!Dl6>P(g;d9aP'.-:FAldY_cU8kmj@rN+XUoF0S,UQ=3LP/FMm0N1qY"Z.s"JN)GOESh6-+UoQ]#o>Zs&49JE< -ku"O_8l8_F2Xn4-AWjAViGI(UVJo9sqD=Oud52YsE\)b-)HK; -[*f+CW^hFc&TGmZ_hCXW(29:H$J]CKReX:MGpTS&jF^L='QqL)N@0WJ8sEQV\e:rJ -Wd7#_3PMMGQkJGIZGAI'i*V:R?j5IsPOUgLW+):7VA)A1\g',E1ShTC9:X0XV0^T* -,2n^8,>fT`AaLgX_I=\/fWQ5$Q9M/]8Ti+8-RHC,McsFD6lZDi2$X+uL4[O%JAR%->TU\f$^orqOD5hnpP*p( -#'anlr$WWIT:Z1*$VS;OBP<>l=H"ZM(BO$J3VCMbkb)VTN:U$sd+0=Yj9Gd)#3#ZC -RHO;?4eGh -O]YZg8["Y?@YMZ@5G2-_>-,!e=XrGT&X#81M6)E*3>1t$.tU/%MF>JnEK\+B7l!NR -9QcjfG;?bHUj-9-UFlhfKa?X'#\$VdYaE",IY_rtL_PE)I"JGf8Ar1[)@W6>dhU]1K5@ -N$)d<<0j[dTMU2[$o#&l#g5gkUWMi>N2^ljRJ4jDC!(tX[HMHbFK1\sfJ\Z8%_P0"u[8jc*K7M=3i)oB0H -N-7r_]d.QUX=GgAWQiJRl;!juS8-.s@`H^?O@UYc/:l$$fT:n,84\;&S_.KZY[iZZ -A0gAJ)k^OB3nFS2Z)q-3MF,^URTYMVB825PM3c(sUoo(p)NP,r5B[J]L_bgaF6XoO^1''M1DP:%/%eB

(pEE -g(cd`n6!rG+HnT)X!tEF8Kt2s-C_?/P2e%GTNneA8ZS[\,ZRSR.RsbQ`foLb##27V -:kkeDl3P&k'GufDMl'KOeNjYQ$$_KPGasTjSdFVB#&(mY=k&1>A-c:IMXY>kn=kYV -Z_d`*ZsqIS_IqFjQNgi3L>[%Uk\PumNJ;u,*WfWuXTLF/YdFLBL1"[B@ca5AE(UQG -L5L&LgbcXL_F"lP;1WsLE5:(aW@n!r8ul&kULkW0(0BUHfEla2M"0+:dF#pc4\OLr -&ec,C]\%Ad]gD_H3fI1:]nZ=[bTKP%F)nKR/6M_3R9_@;8HOSLO,t!I&=E\V,,!C) -bYp5*&D]7LC89[U(,9c/=hu,4?sP@Q-e#S/9e=pHii>;"=^".i^UcHV0sjE\-^-VA -e7<]*W*Hm7E"bsJ'4[LOi_Kh3^]j8PL&b`i6-b9X6eas`a=F+nAE_cH36o$lPRY0[ -#bD@'5VtHjL01hiW+?@dL6W=VXO:?1Bj.W;Y8(`Z/\%?UfPZHUD?dmgP^Uc1[N(Ql -cH2H]MYZWIW+O1-jbqsE:mDE\C@!Q'aIgn0b7]3YTlF.4?6E`f2@UYH`jbOc/)/[tNG)U'#NKJf,H.Pg[GNTrFP" -B`ntn/?,r^?XjMClPl<1 -.KYi/O]d>!Uf$8!EP5a$pM59R3sH@+j8C"qY.J%!g-IDcI0* -Lsr+MUS*j)ld\gpeR:uT't]?&JVGkJXXg6)&;Q!*D2Zc;XhrMWd%[,%*?KYSegS'8 -V$;[iD[-l-aKT./aD7mm_dZV]*YZ4&BVX,Rn!7\S>t*8c.;U?X_cM*0V`ZN=$nRBH -q@'ddQX]Sa2O9C(DN#cp4KE#9B]Pj(mZ$p*Qe@0lb5XVGD*=q_T19Z:QH>$,)Ml1QpO7.XJUYluJls -.%EJ8,Z\YM":$KJpBCNq"k["5&74_]Ka=qML'^@Y8OPU9O&'gPa8Qh"!04Wrp!NXSUGt3n=L[Tn\)fgk]eW60*c)1?`R`M.u0F -Q"u:cZR8UPL8eQ]cJNFB#dXHK9PqOPGI6mff+WV3ZU8u"mBKNn6@Ld -0-!m0D&1Q"(=Q%Xe-O9F'GQ.Tfh;^$G1Aj/$LhX35`5h$:PNhS'r6_Q;-Hd>AddU1 -M=0?=eRPJ$XiPD?V5S,P+E-[eNG*0>Q%&!*r[`s]\L180#-bNDE4C#P0inpnV\Ka2 -.Jt:b>h&UfcW$IeqKq_#WPg=!)o#B'Es%%Kp.Y\OW9L1N"ThUa"k6g -3@Ij;k%k/%e>&B7d_$i3B]-C,V!j<NBdZdAQF*IsGf>"Ypn)R#Mf@7%\abZAr(sY4.."4* -dn9nLfV_/g/sfV^B]IK\%!?78d9pkDdY&GaS.7qF-o-W%m[<->r.a-LLFD-lnC^FT -E>\+3(hh^IOROZW5g,pBQu2.!BQ(S7E?X!5;Q0LkV(46)`Cu4kYm$>Q2[.SWS/[jjVi)g%N&&_>Gi2s68;ma\@"m3pk60u+pQSlBdn,$Ho0?`@&O$I3 -@u(4)Nlbiffh@]!+dU>`Z64+r1F0LP5R>hEG0qC"^a-pjW_cIgj#i3T]S(LCu7DCq3Bf)8qL;QHdaQ/if -G6ZrI]5G-KD:[Q>#iBV]S,.!NK9`$G?o,E_GEBKabV@uPY8!u?-:FD@jo`s[Qp\Oj<"URRo'P/.Q;A?=`rrNnR0hVS`V(#): -PpK!s;3W@57fa=#5u^jLKje$oQ%a$FScG+FX3;bfm+p2Z>>jQQVrd=-'tpMYq4&ZoXJ6F1AnsAQj-EH -@[X):H=[oT"MeC]jme"4(hOqK@j"^4Lgj-!3YGpu1U2iuR0H6=@$m/=pkbZb3fIXE -8hlch.&^DqO;Xp@RUhf-C0O6%k%\"aV$Wk3Q)1H80X7[5AF*nH`rX>%)^^tn@oET" -OJA7$`B]e;#*PBIUo?[7A#cDGQtNF7.a#$LWu@YNR`:biCU$P.ZFV[3_5bJXX6Ua@ -Xp3Vf^U4Hu'"'Ig,>--7b\GYPRuEcJD4<*:>10eDP>ccc%<_Ci0\8SuQ -M8X?e#4o4NZ;%[,jkYpI"bA_;]+g9bQO'3rp%+]AE5p,iM)b'7$)0 -qNJk`kYONu!C$9BDo;YW5gWY&$c;BY+B%H->S^:*Kd7B=6;[#3W^G/W>$+23O]l!, -V@cZ7Q0!j-=-dE^5$=2jR:',4-';kF8?t@-+;W_BF1fUmA?9-0jkQcL8u:=N_O%Rp -]eIY6l5X:OAg)P3(jqr&@$h,l-To\Q(G_I&7QejVcBGMdJXI0&m"D$f.R?KK#[0?F -;MK1UNu99ITOo$u10mRNeH^Z`,uk+;AQ:56&)3NWZ\!!3L66LeRYH66N)t-_\:B&^F[O`\b"M:S\hb'#+:urgl("(\ut1i^qO%I!kc;)`Mh0$GQ_SZ -@AI2K<6VMQqD]:jcFQEt\ -#e`pqi&IWBd]nTi##0Bo3tQiP_?Lq_#8lMACm7R!JNt[gBWaO.FA7UEgjP5dj(>CJ -:*-)q.0VLiB>Sea+9WB-d&ItA8/V[U\AX"rOq^5RI1RS>e1.5&*^eqp%uUHl.RgS[ -(]p4+$DuT/;*_=EK"tLrq"QCE:q1Em(g4qBB\egY7$,[S>`5Kihja\ZE"2%Y3/8'/ -7H9.>npSJ(!Ht#4d)/TbmEd6nK]\fqG'$Wi5<:(^1'URj(kXDN9+hm&PaOr_Uo]k2 -=(X4DklVh+1guNSFB$g_*E&n3;S5>pW7C]")5AY2%'dZ.#,nsIYB4@c+dt-?#f@N+ -FK`@MG,.cnCFmWpA;pVe<62mU)G6s4/MbCLMV3h:`[#:-dA/Zq!Hg,XfkrD<%UVk\ -nM)7t!?.6L7#WAr>q`:)g%PbtHc%4B!OO]@YMH[nl=Q:C*rK@P=4=S7"[1nS<9aQA(<8t8^M!Wrf -$03dkcf+R^%006^0i!9rb1d6RnhPJ16ZKa9p;6h:\*I3%&0W[L*M[#8dqGmoe&b3I(poeG_)iP -Cb`q6e0K`!PH!OenC7gn,mn\Z'S3hV#Ct;A_[o`STqXCK[)Z;o<2bd*DD_f0c?/=m ->SVgq2[1t\G;A)hN5^6HkK;)BK2BIPHics")226N+oE,Xr*#`>e1]rD_j6Yq\JO?A -3ODo5;+!BgMj5;>C[-uuV:KHb"Xg,81)2H'Jp)-BhPK7ER#X'G`(Z(%@8uN_*JbQK -R*?_)Pm$D^gfQP]nDP@>P]@)h2C6;GR1pjP>)G$t<1/!#ahiWXjN*h^PL+jrJ -X%oZ=<*KM,D!dC3[NcuI'4I%[M5\?118WBs2'"7hm*APs_J?c(5AKZ'9tKc3fhEEd -1R+09R=uJl'c5dZ``,)@AOpGt_5]6;^r[NC>]GdDfX+,8bB*h1JW8+/?j=G#T'qD^ -/Ff\HM]%X-Ke.(Z/.T,X8Uc7ectXEgr*5PEN\boXM:*:o"H=He*!ZJhdGpu`=&GYu -0P_=@8iF3sL.'*QAB>hD83#kE`Am!T(=SJaG]DE#A&e*^_gI*YnfcR(K:=-C_([/< -TUQYtaA*%=+=+nb"%)Z^/Ka>oQOk".B8k>:GS8XepuL -=^.Y9,&G,t;i@oFMi]iB7WIlZ[Rrm"TG)CJJU26)aGp8oXWu -d>TMg*JPua(o%=;>4IJ=LpjUt2UTppOuP<4--R5?-?7dNkN:U2#agr@Ls*u11C,1f -,%QO*]G3CuG*8aJUbIH1EI]d`OP1YkLi\T]e2`91Z&rL;7Yr8e)T*+t%&%bm#%6R9 -`+YGNF*P3citQE$3D37#.:F]snUHGuW\fEgdMC@c2@TDK_%5XSRY)A4f=?;`JZPP9 -'K0\MibfgTmOX&e1B?HG?GdVR_brA[6=>gC3$H0"c;%\UJ/cRW1l,Cl@obI(co`XC -VdlI`b$'KOEau7I4"bj#c@A7JPS6ZT'u>c$RSJY%[&8%9&uXa9/K2dp.MA98Po1TK\#`&;GG1Y -:+oY60c4rIJ56D6Q-!.9leYB&N$uMo,AG49+cKPM1/H4So]]s*AV=1mYa0m*HcKZ` -c%K!\XEPj6.7--8+qQ5dE#D)0o"m!u6*=P2:)a;<(?%4`@*feg<`3J"o>a6PR<;FrEZ:^]D+bjfG#U-@d<`3!qDt8dIFGp4WT41PdU& -Z4,`M8qr3eii"7^mRUkUP36EaUln-bOAP+R.Q:k%`J@kI_gKL$/0)LO*(B-3_9*c! -bS23a'8+LC!DXB'9G:hc';7ZRE01CPMJ&$(bN<:"0TJ>J5!Q9;lTnLS#,#XKXXcr\ -'hmc75uS/1\.t+<7_r(5+cI0bW/sDDO9XG7_.[Y9B+;rq(:*[_+Sl,b2!NIQ)Lb@YX)(A5p!B(N4ndM1g -$K.E\+JK8EbR=KR)'H-jTWAKnU^=i.$)!Rj!0@LPSdJl4$Xg+E5dh0]-kq5g*!,1B -01[9sJf6qJ/SAgI6*?UDMP]:5-;!VDA\^%e(g=mjI=\\O--[Ol(,A1Yf7BZhOq';p -m,DsiU,!^_URjFKk2PEl,0YBY.Xkb2/E3N@1X8OFdS/a)?A:&Se>0\eYmh97&M[hP&Z"QtX_TaL*>-=Yeo*g>7n0lS2J_g# -+NI8T:I;Pp-mS=[fhks2Jr>ZfjoZ*I'IP*/9ZOFZ6qhqp9PQPC(c61s2\($UoLT4F>:!6?7<2YS -ClTKd_I=3m*7Bo^+[58/:_[>%4g]C3np6.'!@MCLBI!ZDm]u3!TP2EFck*.7Pd$() -eS&!:7V_S!'#dMN^(p`I(,7cb%]i(?()>"2D@JZ["Er2[()J=cn#Ip1&F-O_maK2Y -%Z@)<:ZX:!n$%3X42'9ik) -U'[K[$+$W<^n_WXN:MF24LVi0XfNF9`qK%7)BYTu8$]g)Ec[ -)c:d0Q,4EUiYqqi]S3d5"!V'glQ,GQ)l!0`1]LdB`]+$q)=A/EXrUm=#[Su1iR/QP -@nabu\iWe<1T4o?NZ_^\H8d65k/4D`K3q$!Tn!bVkB8XLj1-IgZX]q@77rM#!Q5u+ -ElgU$'4F-k_+84=U(]onMSV.U(2[Z:!bG-.5phb0#)#;uZA`sWc0F,=er$W+4)"g] -'u8#NL(!=f+,:lNAYnoG`A[:iYWq8 -g_aM7G9N\!@>G[".M74-%A:KE;n*1-]FA92%H,/35`uC\McaAA#[iSt+Ku73bRHhc -%2VVFTYLqCZ3t'K$UCmsQYm2?EX^m;$=Jr#TS*^s#T!NO*FZ)gJ[-6;!d]dK.:V'a -EI^)/Z@AUu1kQPtnbP!ule$l&eNQGIho@:C"q)AXK2O]JP! -+`X;$B[b-^CD`Tqd-%5pNGQ&P+,f,p;'I9N3egFA -!E&M3'Sg%p`>sr*hi5/#E@H9YANKT)MK2"W(u]S!+^PhU((l)b$m<%g^tK4t^'t(b -$p_B25`>t6L^5,p$m=C:T^30Hn.$T)%`%39@)r`V^($ab%%tHF^pjb;Z$*pc$c'[g -q*GG(Z4(-h$ilk)i04Y#rY+70)<7fD`L%R;W8h@=HY'?9"gVC$L`;3\Hn4@]%Q<8@ -S"%D'0g]t%!p7=:82XuA6_cVp1aqC!:IIYb2e05Vn3T'D@q1Ho3hq\)p_BAK5Cj;g -JU=&gO>b,[ah(^HX5iT?+[d%'5fp1Q'Pt"t3WDZ?Og-6QQ$(-t%qJKtjo-kbIOYopUdT[!rgZ3d1a#iM3[J?B9Qa:."Z%NsU: -q]6,1g(",F%`%QE@/^^&jia=K=$XgN^pS>.Sd@ZF$)"VI5cP58c4%M0$:'+K@2a"A -HlHM/5FYmrnnUJ7nGjH,_2$YrC'Ycdd6JH3-[TBpVrrE[\q-QfVcUL>4*Y2`+[alG -@HIhQ`XO3u/%FW@L,m-6Cl*Y'/OYP;erVOpH_6m-?A?@T`>rWGn7MqPIk".o'V(D% -_+SB\U_A+(T[n5N-D:_[K'^Y"b5kA?A-*IN_7n.D^F7V?)u65lk%qUf0t;<>3`M1M -+2I%,D1QfV<:1Ps,u.#UDs8B90_S-BRkUY28L3-0M,m'VFi52EPQ_T9TnSBZ3_q%o -;F2?tBid-JIS>qFQ>]bYO#j[i:a+V!<2B>/JeApuGSrp1opFDh"MV7]aq["t';5I8 -!-AC[TF@LbXFQTB@#,,^M?olP$in3S!5JuX\dO%s$inuli>N?&*Y>":%NsGgJCk=H -hp$\m%%trVi6/@_X9mgV$D!^L'So\$%TL/^o.S_Xq.4(T#$dhZe-55Z<.e. -0p1gS6ParW(RGU8dUNt2J\#$)o#+ff>1`./,30^?Zl?uus!T9rfu^_)=L[er'Y4Wh[^&["N*@ -]Kb\u6#*"W,V2.\8Bl+7$#$kAG#N%3!#3@26@'nEg[mgC6AVZ$Y!H;-Ti=G"c5**u -(h%/GTjC8n7Mc)97Y]t>JR'o%`6k\J8G9u`lR6\06,R=dDqLdUfVK3Z+&I4,_r5pl -JW(][Ag7J/"^nReXCagGM[5_:^BF^=INsQH6"&2PH2mlmC4b"",XkQmQK_F`,NM0`!6:Xn3don5mJj]EZA^3 -"E;1r4nN]qc0bHHA'4fKM:6VLL6;j'08OcQFjU"=P -a(5Q@:W,Z[1/8MQd7@0"`C*'*'Ene4;A>7e:fBph;-$[3,tUrb'h)h>.hs@0W`GD( -H!j_hj`J(8Q:6pD=dN_4E)[N_EGepF-)#06Q6iMH=r%:`E*H.M\T"CkV6(CpQS]-[ ->aK$\FBt60nd8_?V?)0>Q^"1l:K,=a$=QnV,*67NL)i`kQk[[QL7!*dIUH0s;C7-m -#pKL\Ta640@atdaP(=K")Ffo.#q@-Qf?("XB,TiP-B+]8M2taU`c7ef)Fck7I4M*b=5+:)F9Qm`;dLpAXkU->IjARZ,_>CZgZ2b1O.=gS3IAnA2DH\*qNrhO=t$`9fR(fspuFO(5E[C2W:G -D7gAmaRd(u;mu!TbtGsRS.DBs!]iC4]*Z3TC^7R;Nk>f.DfAYp#JrRP'aSa_q7:G` -DsQP*PD&Hn'M%[]6r+KD;)h8`7,Jn\>VWm8)asoP*?AMja[+%5*8IeL']gm;;A=,@ -YZ&XI=^"gj,sQEL'b`l90[)\]aYQX)).PRiZiPhcPslQp4\`nfUZm(N_/Y)Atn-B8j*Y9SO\((Lm/IMii*8 -`M,+#i_W1%E8D>HLfb$nUcO8rc5-ke6jJ7t+U,:)+bUDU%q5f8M6SHP_^JOlXCNX] -Yi6Q'&6]EL-m=6dN"JA&2$[Ou+bS]p%Y<7r#[ni&"PD'7(u$$hiBSpti4Km/&7,_& -E$tjNcmQgEdPXBgB@f%+s_ERekQ8\cJm_V,NIF?[t??Qa@1 -0Mo*'60Ib(%R_q):hu/4aY=inpEntKH6J^e5Z&fFS;jCt:DBj_.YT'18eZd1 -41)eh;4:R1,,A4s!EbS?1V"4Fod`,r`gKadBm@M9[Ce"k^=$U?P"];0tcsPNnp[n6N!ucpaS?-l:$;:d;dQ -99gAO,-&c]/%>qi86n3.1u8lqEY(!\ITra#q>c[f*sbDnb0P`7@T4O2YK5AB,D.P8 -N,b4>L![+@KeQ\gd?#qK?&K?ZPXL81W#(*5N=nQG3X2h6)8b#o#,'%)M?.6;d9*:^ -,2c<(&B5B8&3L1`>XAe&C+]g3_&3=BM$n&(-j5ou&0\80"\@Ja_K\`\+Wqq\^haI2 -^cD^nr#gY(KG$U*4U.SO.>Dg")T.q_%,k/4#9d?,9a/0lbq!uZCV=Z?H*M)n=Q.E% -;V<@)ifS(?o%_fuFq2,tE31"c>mnJoNWnH-X_.-r#,s0bq?%^IOE4*Ri8'JE'>A>S -qsjCb3DQ9I5@]b4TeX\Ma#Kl`o.Wss`*DBNqBg4R=jsr5#ic(&o+[pT;i2q@.G_M1 -("7VLiZUiAVfj7h,-Y.+['V=eCu7nMC3McXo^O[2Q6'@&=o3+IX(@!*;;1As[KZ -:).6*;2O6i,D4?X%"X3gL2Y3O!r-".!EM$HJ=!]r/7]$[#U0D5PS&MgC(=[f1'3Oe -"'A6N\8)<\D[*^cRCLh9f[be`Gn'%,Ud;$ciM@"[8In150'U7XdANFaV64>:3"``u -aR64sKK*,9_*V3B>4&/Zje\(4O:_-rRu;VdbRnl2->=e>.2S*i',!#@OXb1;OA?#s<0HHEKudD[n5b6W3K]t7 -S[i^W.4^*[=G;Z)VkG@`F/^2nI?PLN-sSlgk[K8X<-d -"W0mbLdM>2>Ql64Js[V^BLIN`6%^jDK/+j,THJh?15)T8LEK3BTLf9]Q\3(%!LO`+ -!&4U!9nbQ-\Tgc#Qq.@A9,tHAL"Kc:i*+#P:^#-9KNL\H5WXMt0nUssK/b[i=>p>' -ncJ#)X,&$Pi$3i(]ZA_AJ]K2?fJA/i3J-09K(qY9J7]9FBa.[OL4Pp#R@=DKTn]de -)M%F>+Q#H:h[\ShB_K8=p4ibd%d.q1$P:!+J.4fKm6c)cs8Bq=bXXsKt(7i"A1bCJhgLD..g6+ -!fESV;BK%E"o=>qJd'+SP=8EiPsJN+oO,XpAdEtn##o+^HSQ?4"?_cR"u`/n[;fOiCM9Gtob#"W-U -Le367/-=0M5A2O70JW_1/V::7(l0[D^afJ2-A%%&!cT4_0HU>j0SB-a"+Vp)0Kk)n ->R$j=#.S:MQtuuRCRNi",T9"tXIY=(8lDm1NjPJ-M5A?E<3D\J%B/$WWa61P?'$&. -_(i5TA?-5[q+>n]&+m#cgPZ:S_N'kb%r7@67'jDa[*)FY339R3F;p_>#_srM#8m`D -"M>>g*5^YVYhEd?bO:ss-5(A10VKEh6#id6SW](40VD?u5ZOBE;hZ0a0VRoiaG;FiD`PMQsdJ=-2<2pWrM/]5D -ct3J1MZuM=1CRTUY[I`$B18bc.S,OU'UTXJ!rMWl -pbF%T.mJh8!\'1^a>jA74bHioKRdOA.+-/0Ba2@jY$%1tUnL\d79fQ8dcmTg3:o/Q -KJ%qN>X7OGgOQ-N`t)1k>_r>`Fims_]b#n?OR*hr!=4cm7iV\"&5CBZ!b&qc+-8fs -LHonc.!#VaFU(S.&Ihh_fb:69-95p;e?KStn]1kQV,_mr"aSIW0c>Zn;:SN_S[_T< -h,^cp3\[4+Kn*?\GZ#1]/7-"rVojaXrF(DF@YuR:0Sil;+Z63&;.YQC1G"0b!60LubN(d8$u -/g=[H!SA0=GThZp-j#J^K7H#d0MDWE;?aYfL)="qi'N'Ja9++M!luhmW%2AV.g#2q -K2d_\(r_ko.U,FhK(q;L+?0J]kRCt!#.dd0\jZgrh[UWs)@aQm -`P^J%nW)="3*>q1c,jNKakY.bgpt@.WPCfiY2&OP&@AeU7FBp9MP_;"h*?!d;i=q# -FG1oOeU]7uBce[Eg=4g*0MP8prSLp;#_d-SKb5OMHo2r!&X#:X*V&&fgCa[3c4[Gq -eQWZ?EAWjuXk"4r"c[!r4^8.Y4GASlP@a9U\N\n6ocZUc"gX0,UtQmk7YSW\Kt0c' -TgAq5E/!=)]E>s7P*Qj9q(k0XL(R-'0Ug*0##23psg1<`QAPp(/^/j%J$:4@5OJ^j'[F,P%eXSmCjiUst3YRWKI\,%_n8MVoZb_miJsDj* -f6R68ST`V+5a@*5=*>)31'8WlNdc#rH/s(h -\3>PD63OkF"F*XpQs>=V6j.a'KJ5Ihi$a4s9*GJ(KD7u%#X&:Z6j1S%!pCJPkV7[V --NaWB"Ro%CW&"N`0ujPT[Q#Uc?mc#K.tYPf!m`hW_C!&"f`Jr[E7UqnAP8$pL>fY=c-(YFA[;4+kioV[ -MaB];L?@S/$=JWNO`#,[LIFg!:"q?@!3h143K_YU^@C?RaHC:SOg,ofZOr@iV'ePY -mqaqoK;f#S@9'7-'>`[&!AeZEn)IDZ4^/r7Cb]T0lCQu$kTZ$Tj!2i0:W1@IPd1pZ -64u&bP2L#,LsU_1qopoibIn.;#U;/pJ& -KRc:>7#-AU*!*i6Kh,PS?q#]u14pE%"#)?:\0M+u1';bbKFg9K=>5@%0`tK5F-&$W -*kLZf/&+%tK((/i&0V+@`;>'DK7Gn5?o3L$2$6Z0!iIo-=W%Lr, -)K`b\K]l_XaCr@kd1(WT[uSlh5#(E2iM9g^Fa_4Sb"n*VbeY!jp!([&h9MN,?fcRL -FqXZF%q>i'A.ZdmLD"")]8DA'FGDsGOm6QkM&bt7S6`H*G2+O0E)OmTdff!4mn"Hu -"03HjG%SSJVgtn('p=$=87S0h*np,8:cEkGdbgYsoF: -Ns4`t03??YqXo*G?Eb8?('=/X^gF8]/#D#F*l;A@=Nm'm%NrPqZ!gM,3uNkr@BnKZ -VG*D2_i1jfXB$P`Nl>D1=L(sqb$rA#1)VXAlNrHiA]kr"G!-:r`14)8/B2L[MS3+@ -e;@e*73\!lWR_GG@];$hPAs;dC171P(c_n[kk4!=J)GJ2hq<6UI2B0nr@tBTC="ft8`ZlXn -A8*rl:IgV*PeLKVPmE'Vfk@Ba.MW=;19#)q<\^/lVrWHsY1@;Eg9!96Bt2mc2Hr?U -,AY6ND7*gPOCg*-YTkdGi`Na;bQPCro?.B,+FBk.YiH/<@7Ih:&(M2k@ -nC'fi,(`&:%RO5I#[$)_(6("BN -VI?!*R&PBiA=4b>IU*]m))P##,V^]EbiL!I=K;fY9N)V#31qa\KY:,R%O84Y4cX&] -?rIU<=K3a(_8(jaP=?.-8IYb5c7]NWB](WRK2Cu"OG$1J7h?ou!^_uYf^_1eA2+-J -Ne?!\4Ush`;E5/\GigrE=pWD-$tCF$0oW6M`&*J+..B/(9TZb4M5$*3j,"s,*%hXE -.-*=JK^!YjRP,8MBcBP;\83)gZ)h`1%iMhN4@\*%DESMOhY=g'Zh410mod7*S-JMq -"n*^ISGdGhpEEHCC-+u<7;h_>@:t1an?hkIkR<8@\\@`X; -pk]SO1+l#[3Z*bTL+]%K.)Wkd-*rRd+fWCpe_FXO>DU;ZtdL;?Oid&/-WiK*s9<3&4.4& -Lf!:Q_]W7o@A#F]0YSAk0NnkcKJ'[J`*^DE?4C>2UP:J>(BW6$%Y`l70u0r"!n^Q^ -JQ*p!&B5R(W)4#@#XO:JA2FM;hAV#7D%6TV227dQ)M;")%=tm5L=k/u%G5TYf(+58 -amsApr;.Rge2S#P]c2taAk^\kK95DiE\el\U.6biLF\d6:4?n;e1-8OMCCkZN,oJK -b`U_3SJ.`::8>juNl:3SFt!\p$<4J'&ceVt:AH8p&O,g7H9N#LUfAfH!gZ87V(C!g -=!uN"pJVM5U+.$@-Y2S9"bC;%@eaMn6#%j&+K\T%`*/(Q18`%&nUI:S=fLLbWDsk1 -<><`HOO[;tLk-5:MP,P4>&H\3!k]iK/:im+I^)G#'Nn6A@DKAgYfXDl>)O)dX9((P -8m+D]_^K)TiKdBmnB2ZD.%)VpLb?Z>ZC[eH6&.`U08?F>'LHnGN:DH]7<$0_K&B;B -+RUJ.OJ!3f+@6?".Nt.?OUaZF+U13''ndc8&n2lQ"n9_T6V(Vn_1eU&JC)f_k["\6 -bW:Koc5Hd]F_U!Z1^7@;)FIB$2!l:)#%5Fe)WYE<;0^HBE69%D+C,Ca\3%'Zg`+-j ->RH$I/VXX^(P93>%!MD*#iSl?S1rD0K03q@#2"([Z1&\'"Dp+W!8PmXhei[lDB>S< -2c!W=X81Los,_Dpni_m=%R6.FKoU=H9JM9!E8\RM -O@omg.O@KUPNc2#GWO57-h3\NSt_\n@dIEc`=c*qpt:)ghRegiH;53/aZ(&@M:qbk -XVOLqm\f^_7T>bg)++s>$@thH`LsIO@anV?BD[t+lC9EjG*h>$qj=].[8lM!J\Y.r -6Sitr(ISO]OQCYh@"QlOlT&KA1,Q9mmX6ET"JZW>9iHHp1F=CU721<;Y=;p6)+-Z! -Mns-Y?-niL_LPPm,!jr%YeLspr)jS.BIO(WM\-"1:'j3;+b\LM'dA;pLiF=VK;`Op -J[e;ZYr!PTLhdEkMEutN`#(iYF:Fq.0SVj;]>MF*gX_`J#*A0m"72fp66JdRi:,BL -f%]-H%UeE0+T)a^^2*%.r4pC]$W,N,g^QNgZq\7k+P$uK5RTi_$UD4`TX5%KZ3qef -%RCX>_/:-aW#GiI)Q@O6mMM96X?5I^4[HYt9@,d-FD`OF]rU;0"4TT6%-&s(57iYW -MsMDn8EMB^73m'W8,!N-\8,)TbD"'d6`qm"!--;TQfY -Tqq5onJr5#?5>0GU#cQ-"V+BQL_f&l'l$hd+_2@B2Gh]m<%$hsmg@8l&lf2I+U(Ub -@=0K>L)8fl;Z[r`@L-&?E>Je%-RF-`AX6F"I&YFU,k!E3,"a-??ma3!JSbP;6&lhD -@Mb`0(P5U'+`nL9=;0XI'&c.lJRfRjE[sFnc@Jq.!D`=H@M=;>'*0p%T_K$`()2\o%=m1W!8n>=g1d56$p_<0^oT9s -bR/&,$Xh4_),fk3"2R`s6R/#L54lac*t@OU'=A -E9llt,Sp^r5+7&@7Ua6r"<qi3fjm[LK;K+S]R,kVZ": -Bp'MH_!G[kltc/u%RB:h$XO9a1^tSa%F*Z;T]?S*e-nUJ$K/?#i4DNf]TXJN%%uSk -@>5[dYSn[\4[H(dM.W)_[Mn,%)oLUHX6,c2r@.'i/'I_L1:&KHi<](s5YbuXUbG*? -aXkl\/nqO0a#a[WeLf5.$n8Li:o=[0/Pcc_/Z`KSYk\b8r"I3''98/)_'BZ;8eZth -'N"Y%&FuGgV!;ps9s2:OUmt#-8l!hR:8Il_V"@LV;,nn9<7=H8:=^0=E[8JA'nj@; -kJC0HD!tq#;efAJmgg-VG#n_N(St(T@=TRgJg*n6c!c&<-m4+.EuC*r+p&/r-&*6; -GZa'^cr76LU,"'<^a=-4okbTbJhe4[LDiIO(h%/35uSet=;IT\(CCN!+\EqE?l1&K -(BIVQ!BLkp3"pie3aki#JRB$3n?kP%87=guUim@nr?";I$UCp(UEg6-,Ra[k2#u4` -FDq]40F[1H,%0=>!;I(Th@0j7%;'\l`a00`oFFn6%ZS+2&kiajQk+?R!0@Hr_!+AV -]d:+=%80GNXi*1!]g?,6MP.*Z5ctJ;^($be(dZ.\n5pVqVe[HUD^2M9KA@tGk2Ru] -QtHK]WK9B,N'YgK#di*q2U+t\TYZ__6,ZfnKMk9[fUHTd6AHWj;X7/$n8fjSFJ6Y< -9Qk[p4ABr\GOWZdOOZLWrY$G5SYod-ak01&Z:\qE18X]bA:A_/L`PF;:V$'u^[sm'`aNr-lrfJ"^@Rb%2;;DH`<^=ra)43^JU,#[^eFRp4@J>W'ADXUZe_jr(M(>[`.fEAX@42A1QhJ&-^P -jJH:8:_tEG(u]eD@87HO*HAn,&OA#biDpQ+`"&IL&HOEr!D)ZF;A0'<%fleD@+G]N -X:*%,rjGc7T[jQJfJ5g/%*d',^uYJ[jq![p%q+gb0FIe%l42bA%cHW[<"jt(ietV9 -%l-]1dS^QW4q5*^TF,)4$XgIQ^tof]"r`&q)`4?/ -Em8Z&g[5g#Sn4B>YA.42W[9Id6LXL72.\-2jJj^ -,u.McE`Ra9;aGOA"_:]/$X1]EJjlW=:I`YS#[/EkmQlq;!^[b*Q$ZAj>Ne`tN=;jr -Q5DoV(a4&?U8f)^FqlgodbuU!.anoZ:_Wq.(BJ\b5s>m365@F%M5iH7HpgrCU%\Vkn -@1X"o!"V?m&-GQM0FBVI6V$\7%SJL`!87nQ;@Ya,%Ueo?+Tl>/=:AmiVMO_T`f:Gb -`X?1Z@mJ"(+ZL?ocFopD8m&586*#o?C2[4eDbtoiOF07%aQALJj5_?hk7LCTh2gV8 -5U6WNC^P3Y5!rB,`O"gP__bo%^Y-ah/8!H4FcHkaC$'B+0L -Te%f^65H8@'1!ZS70XL#GS]8.'VPdD+WM3t)i&ta'Z!$HXnn8j'G1?a'&c"di;PTg -F:KG3$Z^-jkn`*uItM.T-%Om.\8augl46/b&89uXfN0/&p(.5pgAq9c@/RC?8e1pY -0qe"G_#+aK/e4QJ%q+]'E]+CMq@B7d,]mf'lZ]6(G2-SB%-\60PUT/=^^m,"D#p@L -@C'`';Eb<;_f00:[sA*d)$Q$J@?_Y( -@2=ls!YAcI&>9@?i:G$_l4F%*N^3XUW@@`FjKhA>W(6Z;0'h&-mt&,32P"1)=;)9JpW_W_@gJ -=ANKV.+;V5Ys,"TP42=?fVe4:a6tQrkZ)-In[`U1dZFN#5!J)'PXiTq!$W()NZ\'L9ACiAMDo?53U/(]dqV -i=Zd_!4Gt.(@:.WJKU"BUnoQj^k/YqR`:A:<*)1$t@D(N:[[GAE;^mgF?7m$e``%HU>fUM7g.b&k -J\'KL24Eq+o6%O)DIi=+>c'rtR;TL'q:p=:]:7))g_sF@LH+5;lLfI/G.UnYd^WO7 --PMKZi7dT=:*"NFaQ.C031O;5o81>)o(Y;kZ^&VlgGnt4c)0B^b&_a]c?D@Dd-5Y^ -gobi[8][Q$-e%>@l>\iL:af:X75CDnRnb?FC'='%(8\!8;j=+]?<](5:FpA!]Ve9N@BITk%:AAYErf(8[^D>KOjXCE(BL]WWZKEm].b(T$A@>aInL -HsIP#"MS0cV;Zf/Q_jM0@@1X=K/8kV"PR1L"rukdR&2Tn4.&t:Lgc[7q1rM-1YI=> -Qo&pm@aMJJNCk&;&WC*k-5i7]R>,Er>SZ?$"soDn8OukqjC'lRPb`j38JPeS3anIG -YqAM.,N/2]&gX_!57W<%-%?#/IMX$^,1j[T\MA`"&RK(-,W:- -3=_h"ni`k&nt&)WU\P7uO5q/M5S1k2(O;.0Z@R-0kYV7@.Kf2B6]iVgp-906i:rl$ -A'":*NoQ\I3tA$Ii&M:"IO[>eWG'SE/u&J=08r7pge3pOfns:-L;C`ERc^lZD)CD@ -/XeL6RC6rO#/RH\1i.V[e22#p*mM'OMd"`@)EULG2Qjs#gGc73SE`/<5-Ep+7k)[D -\lt$5kdLdA[c0>c.tZlpNpFFK]Pf=GEBPsZg@r<7=[5guV)_FK'.DNj9p7u]6R!8A -@94"Zj\]2`('S,D(mJS>eI<21fe,m[Uqo#d^1@mG;T$.S%20IFH"Rc^d;`Lt'g+3W -=r*6u)H[bDZ$9ZE-/huN8C/?8>03VBTd`Tf`0o[%d^aKUQY#6j?PfQ\F#HZ[r4+DG -ZQHSE:.>P=?$YPjFBk/DpV6=]"sJS*(hPo13#L+u&P140/I=pEdKLh&Qpr4>)++72 -%'bgGL#Bid@i/^7FKR%q0OG)0>Zlq-80pZ3XVTo$7#4\i.>8V=(ddjo/!0lS`#+XM -_E9u9^tKh4#`97M`OuSO&fj>)?OQsk]`l8\)M;^@%ABj[P/,E_6We:;J_ZHS5k,LT -\:Q'Gr'HWF#f&i!LCh)p -nf5PlG7NTbM2)Z/*eTi'%cPnrL6CsB6U5Dr6'O'X!5]O>5\L_0(fuW(Ho&dpfc#KJ -DDTs*BL^q7B!Q9CNL"`FN>"GoK4o).'0=Lb6Ukd,-)EG>B%7gk;eaLEWjW\Ie_(]qIck=Go[uPho;38e33eMg@cD'`qfhcTkhFJT.*4j5s.! -))R8<[%3i1^jPCg4:C6/Kh.\m!q9)Vd3^8S>&Y3#GX4jXp`i1?N"A:n2$ZDQ -,@'9%'Ok<3L8$pL_\cto@>HZSd**CqE,Q2J(*SFJg`/\SFUfs'5Y$@k*Ws&%.0U9T -`Gl8%"CR*!U,YPs&H!Z;e/O@`$pf\YMF56W2A$ -;b=[Nem06DAo5g&pV-4l?VIoZE6[n2QYhP"*Yu\8)a4+9F#g^((?0ZOOJ0MmM91VU -7Oc;YY!SjZ8dV9F-W&0b'M#*!MI\i+O@gO5#_g/ULIdA:4-C9:Fhij%pa>!mUr(!Y -qp(WV7joLb'nW\2+uB^hBqW3YUABhrZ"T/OS&%`..[EuT8P!lciC`a2Pc!N7Sjhu- -:2/Pe4McJ"diC>A@h`G^JV]`5ibqYmaC-GB-D<5c$A!=S6U,\PU]rpYJ'\1(%"Xj' -"tFR/is]:R0lSU0i)L"+(g7?!BjcU5]+Y5C6]&W]JVH.t4sC#e>qlU-93?BLU-(sQ -;)TkWBVc(d0A'&lYOl@k>-cZt["nh]&>. -F"bJE^IKR2bQGL;hVBZUH[[0mkV&aMaq7X@WU- -N"1OI\/?2m5D_[P,t#b,'>h7Z$;l1#`,ML`CMe-K+T&E3,i95DBMj[2E%(nqC(,Zl -\k#*')2jCfNlB3uXnF._99#"=+k-)h4#3u`fS$\b*(@&>)C,HWeGf(I7sKQ3f+$->Qsn6L'UlnPJMs9LD!6..:MeHG[(kA:bna*.=(J560GmK -uA;42u -4`Fe`1Ok-]AVNHXKuci;E%?M/."uVOKlC2uGX)H6^EIi$KqT(kHa!VI3Gq+X.c7R2Kt2O>__gMh?gD"(PblObD@Ameb.4B/gP\]LMa=pUNWH*%<4+`EO:E_CV:]jK\F9snOdcZV)W@o\'IF9^ -EK8[l%K^$n..BnU_@H1"O!m_UqjfF1&@sjs_]W'8"/(=O:7V)UV``2IbVr5EU:N<_ -OSDcocrMoH=qDpd_staEBbD.@c\3j`OQ"8"dh37d'Eut$bp`YsaCBr!=9UBY"e](k -"AgO'^`M/cP0rD5R[-B6l+A9B]L19Sqp36>19-K8"qrqM)+m$(>K,r87CoERTOT(S -8o##JmW;+!fDAHg.S"5"cK?m#Qm>6[&k"_^G[W*fcG8d'Z7 -"Me"@OB.&p>QoXJK6T6Ucpi\HHNRre2+UFQi)'W-4JX)UK5`^N=>p>F5U4^u(>+oT -8@TG>Ylf5/M]1OV\iBl:">-92"5/1=Oq!'nH%\.EKHNMe^deO,_'\)0"B\ELQ86LZYC'MIe -b)"J*37(:!(7GNOV*UFPkeoH"d7Y1Ze,cAoo(fMK[IFC>g5t. -UXc]GYlY7Di)5W<$d3M-E/&TaLOU2MO85u8Orrj:Q&E8CtW*L#r(G^7X -L#?'pkoR-U(KU.D'+$:SqbO2M7Yd^ed5tj("!hLa55C -/>,&Ga>j?^U=q"X"6"9R#XALEW%DC?/s&:6OtQqTT<4j=";"#?5YQin$&#U&TX&Kh -fM$sS78`hK;M_(lcp\'3ROp+fKH(2S#W@<#Q_G>f\Qu:BQnr4AH)=48Uq3Eu`Ssi)5gr"bL[':;^U#"XBaq -28P+%CB,Xt2c=9We.VZ84G5[cK]l9dcp@hB0S:3#"2I3U=t>7;4bJhQK-6G3C*;K3^TK*Y8!#b6K$L.q -Ul).(K@2jhl8$Gd18;F@,:H(c\]b249tK[X"GfGKE(OOV8VDE%/%r;epd9^$g-?cL -dL*P5i&Q^O\0:bA#s7g

m.Si$*2l)lb]mV)TC8\Y]AQJ9eZS+3@O:NW:3JD;)"1>O/PrZJ5Qnc -<',>("SGm.9;R=0@cfRXhFRO*9;D_Jc\540(/-`#H,YJ_&Ck/kk.r%9JH6CPOp.nf -6j-[L2Ln=$A;]*f9E_Ld"QQ<]`<-6IBnVjF#YS/# -Le!,+7&)G&"U+9XPA/e_\=`M)!>PCp698*E*h/iGWo9T06m#,lA!GfaKU -43GXi,hUisrQ1%r:#sl#Nk).4L/?\P7@Q(0LA5aB)"A+sX:C)d0=Fp*"ML:4o4=;2 -AZ4^G4>36%SHSZ@6rZAS>X=ZCV/3,cH=*/XP2_[ZQrT\2V4@KiDgJp8AgfHUPjE$&1T -".2Q2fn"fi6j2^UOYC$p-pe%#)$CL+K,?iV>1A4U9..5?K6T*Ppbr"I?Vq&^1B>9KNe\"L(H#Ng/8s -[=iU$"K*Z$?94Eb3oa*p[ihIS!m_^@cWV's>L\@Z:c6=]6%h3i%qn[k+C#+G`/NH) -RDXd.[E%W[mfrQ,LC'Jf$)pQ=b=a+c--jeXPso72c]/9LRi$4%:j7\FG?lQENkIg' -mFZ!(:i1[6O"G#,.ge!8*/,;H"[-7Hn4Wuc;NFf0W"3.EER3hkgYKW6TsE+!,Y -&2\sj+9C[Ukm1T">Qt?38X7`2"Ya:X!*k43MYO,0K-3<)\Hk5-8d%[J!uNZn3'ROW -$3\p=KJ5Rt@Ng@R`g6k&gVQ1MbabHdWIr!U$BV;[!n)`U7\%gr^TWfRU2L=o0ndXU -;HQI55mSINV6J<=KVl/X\U/)D6n>YnKPZVMkWLOXYp7;q[OI%@Lc?XTKnIH8"QL&I -&6FSLC50bnb-&bV-;#p%6\bQ]%WdW5In(fIW*LK:D!t!5\EJ\jE&_NO#>fPc$=bCq ->ReEt#7j^n(>*am;!jALO4,%%Pfn2o:Gm+nK^_Y-XN5P9>pi-KV_W<(Yn'P@%rNZM -^(V3YJo+hE<#fF=A`p7%a4%cS^C\7tQtV8h)f3##_7O-qXR9 -)?N/I#Q]5/X';rlBN9p]/;$lrQ-9sM[;^mnW_o[(asBro:T.3kFIG&]C,d/n.(":3 -re3\4OJi8l^tNW]R>hF"RFp_C1sQToPJ$8/D`Sn7-j0kKpjGCMd)^KQ0dr;VU!Y:< -E`FTT9-r$nUtTB>T2$\1#rKM*e=!Ng'5:F?9dOjPgel/"C+0F@6_KL\UWM`hF>t:9 -a,C>cnp!,6%Q%\;eDbR9,nnE),.VaDCc<F87qR3C6NIjXEr''T`nn;A;P+<*L,+ -nKpqo"S"TPPd""Q;&"^=:/[=q5uL[I"Z-K`'d[!T:R#F1BNQ!g0hPC[;%ZY:'kM)b -&B@YY>ZOA6BjOpX`PH:p(T"rUaK$dHs`5ZjN(QN7KhLQQ]kj*@2L="k[,.Fl#^5J`W:[":K-5$?dON> -L16OI+c'QoF>8bF)!4DO@2Ge4NCXnnWJ=$m7Nm_$)($XnA!lnfLh%>ZiG`6D-$]tG -#D+p!;OPKiKP6H9),=.n7"IBqPm*RE-P%L`>WND7&NE`'A>(,9&YpiC2iZjs!(7D* -@0AcVKNS^I%RXXV2N1!oi].J.E9'*?Q[nQhO/s2R2i],OIQ\3/M"EupU^6`Z&**Hu -8.jp/k!p(WnMEmIR#*4`'.E.e:D<&>1f>%WR5@NupDU"Ecao.3FP`N,^@pj)-Q@97 -DW`Iih)oVLeGDH@g[iHKYFG[;_dt8e!>G\L5YmX+R:]8.Uu+..5g[>;%@#sW8ANaDrh`I&U-'*Z]T/bQZK]` ->aF5$>9=TNA2mR(KlLPlQ@;DE?$bW!krT]1\Tp6&T:FRu:UBkD29JlU%7F&\"]2/Z -+Jb6rQ5Lne@>j*/1"AP/(ul?#W:`tA`^%[Fiu/=lL`e@9=LqC>PW/cLGS*5d],H:* -AIGa1O+d:\'&oQh$?8Th`@.&c!fTI$i@68r^ml$H*'LX4ekQ>*Kb6Ws70sPW<RLZMk?Mc$$GP$6qtVY8/>?C5me?228?cBl,n52"mY^)O[^Bc%L,F[f4k41M:H> -W:QMCB\47\^hou/fXCt0i`lfYDXJcgNRn5Q%m,8'F%kB!2R_S*)i/K(aE4r@mc4o- -P!27,cAD'V.+#K!F09=TM:"pH7j.%"XJ6M#odO;*^7'UTia" -:C87=-]8:I'-^;-LsZt^8qANHU%gg,nHL->+bC3br5IL`'$S8$h[h@::Q%MX/V\Mu -Q"+3;b5#MsjdEeu%6Vs2@DZrC38g.*Sm]bh`o1,fX-`"CZ*r>e36g^R49m/&*+R!* -c0X(Bk7mU6H)>TlPe&t)8DKgNk'^kcqjb^P43)n@5A0>.'S;!6$=RBp"RqXtL^Oto -j=H-!Z8!)4OUO:HA1Rn'X$g_,i1m:s7UG0h()Y7T]K6VDHC[aJ?@[%sepjj!N-:V:W$s#d#N"FA^8r8Ob,Qt]t'Soa.UZ#Z6Kn-!T -ltfIm;+VegZQWaX=@L/TW>Ym6JgIK,5VR0UFp$ZIMkSLl`ZX^g7*)bPU=`t7Z(JCB]`8B_eb,+X5^N^UfS#6U/c!84-'4VI/bP9e\\a@7/+S0#O -XE]dWfK;YQ^b -+Ji4@ioZ?e'O5>j -N@VN$aW:unr*Z_V0TY.N7I":H"rIA_(]fF1JY^")6o:l\QE0:cBm;K9^)US(^LL5& -_8YT2]a*:--YbY#h4 -d%*Q?'CaFn"?)=7;APs4'>Z.3XnK:N[YKffA',:Sm:m@:84KC-'aIohVd)V;I-rA: -($qO5N1,-QT'n5-7>^4D-^#7&2LOIuntBe6Vp^$)d-ugnW=M$,6%FG9`YPQgaiW`] -d9:pT2\ZUF:dl'pKaLYmL(ni,`_$&>_C_?aW&qPKI_%[S,N#1G^ -'B'iB@1Wr7jpjZQ@3I6:_(HDjp_6"HLuAX<+QOkDT`)!o%YG7U"nZBAmNVo6+oq6H -JJqb;^_&p&&aLhYBU0;t4;4DLNsP6G_);t0\eQSHF^\8GAi>_O5]ZrkO5d\sK&EpB -/.gbG&0V#b8K@s%(?(qO0Z+0%!8_(8'G#5/&ReF,704=bRMpaa)^@U)_d#.G7VYE2 -^W*!.$iDg-MWL_4^a@RnY%j>_%QL?K/OpGBmSq(45&UOt5L?_B0Y2.Vp,PMHLFd#$)m*;>\N6/nH(//O:l -H:6ib6tUZe=#J,a87^5!K`(@;C/G"ZWY'VVZ%,Zi8:j-e)21]16&6?iPcI4t(apjq -JVY.30(r^]%fh=h@"&?RJ.mKk'OcS-J8c/FOq<0?&]$(j+P[Pp-5o0Z'#BGC!GE2+ -1(cedi?7n,!i-If31lmC!V$(%!>H*\rin`Dfr^X"neM_TB->)5iQ/M>5kZTKmLUSF -&V1d]+XFO*//(JoO9%$J1EbS./<9p+`Y/\F.uY,CfeR9mO48UlJMTj50\DBd-S)V: -@0-ttqVc+>M_2(@i78?i$8D_^.DZE+JT_nC1`/N?)@eeI`i`=E -pFIiuQnWL?B"jYPjXju<4HQ@U-O)VPmQ>"6$R*SSU!2^,Vbf5[058']#8[dni]_qF -0Q*JPo*UPa5qo%h,Z6lA_.4=T8/$PF7HQ`D&GUDN/tgI(5bUg:iDVPQ^3C5"GLK$/ -E?O\W?q9D%2*kcqCnAg)2"Kp(mnX'%l>I>.9/c5io&Rgq6$u:gE.*]G;B^QbjNbGL -S:'M08-*1IjQ*3l&:NXQ:k\Z]Z_i;P"B7ng3s?lHkU]TM9Gmkc(\>Fo%.4r5L>sGC -WjC"E_,_"Q@L&Q`#CqaITl(LZJe?pS'nMY]T`u.G()B2X$iq[f_4D=6=r]hI'`gc: -JJS1nZ4R*gO5V`IA2R@15SDKN%P=7]XdT\L4>Lr1rkg"h#e6'k=>D#as$7i;@a:&H -jt&nM'gYOpA3U/mp5^IO'G4:I34@L8,,srD2Cq%!;b<<>:o;''KA8;3$+ilpMjo,n/bK8pqI_k"#)`bIEW"NOHWE_o9-J-r/R -73=RE=Fr2>pCWo56(/["N#3/$;pi?fD86k7$E(84\A#S%RM1(rTH]:eNGF:p4"(pW-ILPYd>5nX]FP[+I@ -g*#\7nePT*nL.LW%l?ri@.Y#0%;3%Q\!.q$LuoA(-R;:95t>O1<]6!-2+YoY7FNIj -8^o9m_IQUs&J)Sg/^+cA[Lf,:&#+Z7.(^Q)pgDO5]7CM+iE@&6@&+rp)$-TR!NR\9 -[N!&oBX!4JVSkE*RVLfkR#mkW'$fZk`&-LQ9k/qAB'/=&N@uO:EJue=KCr+%rK@?O -Eh;T0t=M*Y*d+\i]6:6.e!tfge\2i7KGWoK(aU7?MO@Y$ -rhZkc3+SL98"V^#aqhg.9kmSQOcUDK+a^.DSjb\>2;7`>LOV`jX&H$uDcdjmS/@rg -(dSoF+E.RYOpL!?'d8GGTkFs%\.TsJ&HMSRt6;AjH6hX/$>9 -(_P^N&n8ZeiB&=.%MOb`aUn&HNZ&A:j;ZGSn8o)^2Dg@C0jR4ceVsjGBVFB"KUkVf9ik2iJ3- -k+%d5L2JpnOkCgR$+j#809c2dZU)cu;Y-*_,>bp9E[0jhd)a/$(3?cH\D]?+U_X[[ -\.jP5SV.8AM?H2_\X2AHqIDKPkIa=*JTqF5"q!$iee+b!,9\),5r9g[3\?8P[3mL?6!SVMX&jjS@oS=!C%;n]L+Pa!/%V7] -jfU8q$5%Ab&m.OJLsWQI!Y9hR%`%.2\onSb";+9J'1#!RTl=).6C!,/2krc#_7so@ -?o.ZejA18cSOd596'O+lZHX`'^53uKi6LN^'.GArD7RlYk8*"W9]7Uj$lP86)n#ACY -C+U$6ZLE.0UpF(4h4**(Q@29\I&)]n:Nr9RfVLP"J%]$V[_(pSH++dT/PL)Jr^%,cb$^m58aL_Bes&>;i0i=lbFL(s^6 -&V3=_JC[k3C4S[*m,;%[E\+hsO%H#OW]h2F686tYB/2__ApA-@I,SQ^.Fi-E*YR\&@\T_M>XZ%% -$kRsmh"4VZ*hjsDF\2($bu+!0L0P8E9G,)l'F3&WJU/3-Z5][&)aed*]_g%Mo.$_X -Yi`X(K@2m:+?/H7dB_Z8>p7WKN]_sKEC7!NP2@n(2mbY5S#f%4*BlZB-1E9'EZInA -QUl1QC-qbT(A^-,B_%^S`H<\e6of>>H%'nf_Za#`M7u;/!=G4X?4bW0E.7U1lld<2nB))Cg_=X&l?$b&r<`B!#%3 -WsV8sGs%Tk-5,QbZ;i2^8L.1)F@%&%CdVFRW'hO5!e\tsM^ -?*+n/G.W1*f53JdmAAWl`8>F?gPseH9/,1>\!ud_qgH;BD`;d+7iRH+iR7&c%L3J@ -`N*uqpD][(NQJlan+[kD#5-.#F#gbCSkGWuj4W_.>cp:eVoa!?q[SWNA^K[`\iH9e -];*L0ng>*MeFJ'GU/IqSC3;S*6pMuHn,LiAT;$Y6h%os=I(YW?OmnuWFZL'jb[MN(9rF*W^MshCDt2I -`*cdc-/j/V(M2!+=dGo#H=*#doQji1dU\_PQf\=#@7k,oWahG0`3NnjjtVa&(m4W7 ->F*_]D&X6ZTkmrTAbgpdR&2TuAXR.%N+&)C,j\tWZFmM')$Ws$A!hubUgFuC&>gEQ -iRk@g$O'[T:R+MeStHOG@6-N46npH$(M2j.qiO7Mnr4+]\m.EGUkp9h';Y^j8eF^P -qE@s?f^:\X,@KHD%V(Yq3E3'#k@5$4q#!5aUYuVN&VO:$7$0lO+A!4lq*\!lBT(fF -4iKM>;O)r56;Wqe;.N]B0NsS<'L_aZ:6T5**jLlD6>f@,`*K72&S*U(JM$2\p6L`\ -)!jo4mhCg!+eRD<[/-J?%L)[=brDOX,E12\%IOgo9JblPW([TOAH -dPhY_B%"%<-=GT:c-pdb\#1I)Tf=YLN9!#Q&^-j1k9c;V3ppU?m@Cc`IV8r6tLp[=dG2$BN]<&(Gd3Mr9$/e0aoUq+;VqqCgBc3q06-uZ@RKN -Q]b=;0:9GNC1J2/=dWcg7R<"dQpq4I?^F3tCoU$%Z#j7fA`$m%:"1>:?l2?^KfA_f -8WmU[L.qb9d&&7@@M<3iCa+YOi5@(/V3skSPN4E\8=8LdN%P*q,*$#oMU -M'-XF+o"9X0bbm$R#kLG=KdP>$m:3/Ih2Ye\j-hN)T-N7%Um;:#=.9@6eHZ1!SfpV -'lkD78<,7\4@cM^.OE$SRM3a:V$\qDQTsRat --;J>N3itC$[+;1#)H"sFK;GUhe%BnMb?/OiTM`Y%PUH\0T0;]A;[Pfg/;;0D'2)`+ -0'!Qm`C^IP#KWtg,R3$8CdgW6XB$K1=G%U))/ok$(*_^I2%b)<6%Zp1MhG'id)1ud -Lr`_W,g/5I;kA'5JL-[rLb6T]]R"Il*K/FAl<[]?T8Bi:45l-k#%5Xm6QBQod?pSt -npM@m"CBClj=V)cjq^;=?&RlN089bN9u@_44f%rJL,+E!@iSm8&M=^tW'UbuE%M29 --7MA#X:p07+-=kA,"-*a&YaAB$IPG#71bFi+ga+^@-/F2k_'N,4JE/@/gNu,RhHu8 -0G_J3+N+h@%jA_G#,heIK7InN,To5Tp`ps>TS3tE+M3FQ(aK7;?P*kR2e@s+d[^#d,gG;^P1!X5ZtV@:c)BbeVhM$@"3I^L/?5A_k;>g -+hTmmd7,\+n?ETlh-_c6iZ:K1KbAuJ8.a`,,",Ot'7t0q#f>73/N@k^TpRY@dL[F" -1hO/(QI?*F]HRIu-PAadW!RH)-cFZ/'Z+f^M5$Bh76$abU3[o!]@(^Pj.$V3Sho'.==@!8V;^k@MLcl`HfW>D

:k$6-!2K?T.$*cAT#3O`dnT%@!4ckWdh;-P6-]VgL -*,QTiS7B,ka'J5K15,!6K6o'/AbNjUZ]Ug;e2kPb1R7mf;RZ;Z?Nk,P('8_ST1^+W -gTh2%D7^)t(@Qp&"D\DCn;;*LZ,\&7Q5RMbrsu70r!13`OVn-U'#$K&BmE -@\@F<4O0*Uoj(S/)]0gqZh#!Pb-amnbr"L"(GYg44* -CFK[l&FU:(1@6>V7Yc89NGdA#kcnL1s^``fI -Gn6U=3=,^j7"l2*%jB.Y/ -P=lC>5Z.a^C_s)TM7[Z>1Jc4$8*J#7D -q&gCP?aB2L&s8%mR4j:6^]k)tL&iTSj@7(^NjEFKT!9r2lQn<2AJ:O_]PLOOQt\=s -B*L+m$K3@"dT>Jn*7"gD;S"!J_SNs8Ei`UI;hL`ul0-@tq8Jj:Fmi)YN(14o!J -JtZQecnbcS8HkJc"[GYEYW;lj5Qh-F"Ah]HdKUNg5ec_U,5Nnp.(]T.4+jJn"&Lh, -E&n_)4G29Ma/T6Uq12&_5m.0S"DRflcq?8qpQp]0"K5'!#Z69?-%sW<[Fe6K.XP=%3kX5P08W.','t?FN(d!Z.^&t<$ -"?8gQ+Me5;@tnr1"W16o^i9RrI>76-L<.`/nB6eVE1'XWR:8ZPR@9PF)n:Hh_:si, -Jk3a(Y"J!JRR#^>;j>-Qm]S(.B''mq*L#h6;%(d0b57L(6K5NOSL^:fN\S> -:DZ;16`C]\0u1B*&$YT?9I.1]!R$TSaK\=ZS@Qo^Z,n@SM33X?l"peL/P;JH?.L'R!c2:Us -FQ#t7iT6N$kn19/^ -0U4mZa,ilHLfOYo7>)eLMqd-B84Wl^8#pHjKPE0UE\E)<[fbTAX[kDofK4`,Q\43\ -7k7XKU^o$W\HFTV2Gj()!I=m%LP3KZ"R6s`i(jKS7j"*lMGdT\l3#(UcL\7iA0 -Ckf`E%69\G?uZVJ.T3&\R=qPp%'%aoWPRVP_=C2joWG"ZE4G,tLG>Hj3_g1NPGH?# -b=M"eI(%4;o!s%HLJc3c3>W8=>#X^1"lNDb&6CR<=@=Uu*1=q]!>3PG\P&>+SC,Rn -EQal7arI-uc?NYCM:*&9*sK1u1+Ca8CGMJ1,"*U9*ap*2S4k?YM@;6%PA;-9H`e -#$]6@.iJT_0nlQ,K?,&6QlUb9++c0iK-34/#Z$(,0S6MQJtP%)a>AO"49X#7KeqkE -83-k:4bJ8H5;5W"?p^t,7F:7g8R-\"0U9uR4:+E$Lg:&acos=+\;QG7$Yn%ABLoM/ -9GM:`aT/P/0MI/P9*EsR"UIg*d.H!.:HtjfQ[ha4H7sr%91ZU>$Q+YqkY$T%8BF6Z -"H=6$A.C*<8Za\5Lfh;5.(t9p.\b!WKb.:>-tnV#-_ee&8VQa-dnaQ%&GH% -XXh6L/]$r3gG%GUd+tMj[Mj,-#:21&*3q5:l:Y\I\Q(Z=TQE1<Y"B09R:#,l8@PJnpmAVP_MW$6tMn`M<^+o2e_=t#%S5e/c+0Yp:lbdl ->K+8d281!%FHNiL9>Sd+q2'hK=p6lg"mB1pNC-Y3da!;24$;\rS^4oXZSDMdZ$FW^ -Yr(OL<#i0kOs;%]"1HGH;k@HCjXJhDK=E>cf`haCL(c=rnNrC,e4hdRL'],3$@9?'6(deEu/;0UU7gM`q#Yp&c -O9CrEV3"IV"rND0Cn].=K\/j!TM.6uZ5XX<$Or@(pe:nDoJXX=M\7G[+@h:6U)&hY -Mi^6=q?ZL&IKR(-CTMlDi&aiN.C5FY"CHHM^"mH_YTb]C/jX5K* -?"QqS=lpcC<>%?PL&bM6'.ASSZN^0i]@9]W);s@J@PSY^'>S!;0OYUIg4gL0.4`$e -;N[q/2E]qZk#GuVRI$O4A&U1YL1k8>;_0]Ri@%8_*Qos%6S!n)?3C6S!Zgn6n/R## -.0MV-KP3N#ldR`%YQIE`KofUD^cWA<5!ZnG(goIYpq[*S6Nb8R4e`:9kW5hJRFmln -KF(n?*&R-0G_e->]sN7P=F)G?'#*!ZgHNFoW8k-tX;\ZZ?9F+Wr:hRp]d;RqU+ -N["5X`]T^&,nD!,&TQ$KI*LIe46=7^KnrqA0Njtq=cj\>A5,[$qKYICcKu+gVj"TP -q;PBhel?ll*`:CX/57oPg1A)C4432%9=`!&@?N`BL+m!V=X]!g25o;4j\/JD%q0Vf -.:*T>'AQ1(:#M5g3:>`VAmXidGA00l.0b4eS^N,p88&3`AHj,TW'T5R#\O>qBngRu -JtO3;&0lcd*bR`2Kc18M:a^j.0*<%HK8;DgY[`AH8K\R%K:jt%7YZRM9%`>q$a,0d -#XsD+5_JT2+XVmG"FIOQOVK:3i/g3W0L\69c@g5b8\1H.[/.RW5m^!]K?-*+kX1#5 -:(M^N;+!sAag!AVRH`'mQSA%;Pmsf;S#mf#"F:pga,^KTC)*JOXToQSO?C6MnXuO> -"3M,VkXC/l9ImVQ"mIuNBOh:&@L$"R#-`!]1oErllG8j+o9M9>*@mR!/,NN;_K,8p -&k\/o2]A.X;b&bOBQq!/]<@lL#;8BdE9'"FZB8tFe*pJi-,g%,=^MiA"fo-FgEJ"* -1sT^U&g'iG?:sk`d(I%jSVGh&hGX:YjTYH77+3'PTdb^"9W-`HSe:5*V=>0P@0Q>] -Sd3dZ\L3uG?[_D"p)MWs_:ma(E3a32p2+<&e'@)VmJ_$=#%)-MQ>a'TJVH-m:(6)n -K\lu(EeM4[Jg_mo#TmDM70L+^"E6AQGU3Fl1]mG(K6U&ni(/ML2?0U3K.o#mQ)N+V708l0.V\3h4JC,H9c!I6O9akTh>i%Z!TN'.Gc,;(S/3 -.$TRQ['_*76mIiX6daueHU+cJsi,H2HN]c?S4eL&51g2HUQVFC%k8]LP/!\?@f/]Ah -I=%;^\(g4m>J4phB'7c+*%k<.^"2H+3Lqe#6^c?Jk]D,V5)00Yj`EOh$U3RtCYr>I -f1U7dm;B.30,I8g6M5`9?*75o:SQUbZrsJr9/Wa(r*,KK_/NYpO=Uh5(GHGC?C0d< -H#@MogF]e5^B -BprV$k+SS_8Wp'9A!huWRV*N#I,JY+#)SLW)8u$_-&LVPPTgFmd-sD^,ZsUgM1Xs6 -/dd6q;IC))=S=T^@johk&VNF[73flN#Xf8I#m@u. -P!k]h9pK;;P&)#tM5#,4$nDm-Yt!aja"cqE,0Mad.lMCW9gQYDjV^fmdC!iWAD4IE -"*p?'b`"G[)"QZ$]jn`IVQ*(PTLH -VS!G/]^NT=S,WK(E&PrH^p*H>$C=U8/7*3*EIRRJOD`ua8d5TK$CCYVq\q$9N*4]1e]61 -P:`1L>f:4lL2il#b_BOo1PoR[OsUKF!.$I4@gLpQ%0EK./IUSn$sOPo;(+hl".7_" -&;7;06P2_##XVhXElLG-,O-paO+Zri3"@1;p,roL(%$R5U_sk9-:E,"rK>+00IDJ: -TIC$e;@5-D-WWf,'`sUp#pC/[?eC9C@OO_Q;(hnPn=Ng%A55A:2C8Q`5SF2rFpUGe --!*b8&RlkP#hUCF6h#O9!Xq6tE:gpJ\8De;e3V"!r#MD[I!ST\9aQq=.>=_A)l$YD -NBtQC7^7agL*Xa*dCa-%"!B@rB[*#i9Zbsb\;X:DEZ1]TCe$i\21qF]ReY[^)5AfC -nZ[&(1"\RJdD%`E$9fIbbW-/34?Ma!V$hI:dop.b(?5O)Mh,7d`NZifW(:/aA,\$5 -TXR1AKNPZ>"PK8"")A@^ZjW2RKj0)=PmBA`MtX$',\'UdM!5^"QMc^S@QAB5JKKft -KTZphZl!Ks@gkYR0:_'m8eWgg\C@=?P5CkGBh^4WVa*#W>I9kuD;%&&<11`sbo.fl -AYd_80h+FO)+f?k4+WbSKd^X@i?0BKd&J)f-sR7UKImDdg(qPe<=AoH6jjT-*lKIU -$j!Fh#6>Me`2RSd![L1M5pX$0@#9Vhi&hZqBH@8;FGAniZ3UI"_*ekr&]-8!_U08H -"F-+D!d%9H@8J@@+Ji2E+A[if67IU:SeB"g'+(?d,i?t0Kq^h)5OgWYi@pXrCO2sH -E_%LN0j,+*2QajJp:X#Fp*'OuZ\L6_*.uoa,JjS=LJ[WZaUplS6E"&r0t'#q8C/:X -BPNNh\2Dp^)N)pMcc)bHaVerM*)*Lp`u*%DUIhnREOIgH#ia*gR-9R*OEM,_OEGB` -IC)L,fGpZHf@q:"CGJRfM]m&"7EDYIXb^.&lYM(T\bndGjBGhhPpbYp"d1(s#9a3t -.@X/IPte4l2s-tj`YcO-,4&\]e9!Dk]Xtc,+6U^;H!nGXOu -&If5di'.Jn7NqsHH4HY,5R=&-,I.<#&>Y$l#pN(CWg,d_if$[75snBN(nFdj9V8Bl -4sbla>7n_?9'-1GY=+e(KF=_LB%@V&1-gIkR,Ls++u'ME6IUX?/3sN&lMX+!L_2r^ -4U3+f*J=u^.fsfl$INT?`Sf,_UJ,3WiNb=1YhC"JD2ba+*>e'BMm3KO`A4sFWT,V+ -Ah:aT=P[7p%`mcP,ER&.`do1*OkR0^nDk'Vc8p__l9:N,q_[V[D_5uZ(F$@i8>0jK -cLLTn_"$o*_lG8l',XnZ$KZl5Y(RVc!L%>Q!HQEFu*W_4%.'*pjN*`F/Jl41o`9/#g4(+ -mF`eJPUqH[7L5\%-O):T'>d"L$fQIf"i.J]6GQV1,(*Jud/4jc3-#KpO?_3F%N\"< -L8El\7R6^h6V4M1?j3?q.h$EYTr<2HiZ7q.^6BfKLmJe2CekAR1C;"Zfb>W\;@6i' -.E+QJ'=?+`M;]leTYR+u!_g6@&MI't2J3X*K!%>L\jAqm0be)hs -Lqrj0Ldlt-C8a.J^9O(/fVoXbLg#a7Xu0*ZgD`1aC.1bua#+$T1eb:.1;-D^,9;h' -/B$6]%8X% -k0cF/nG\?JbI.&d"DnDmpGTBL/gW^@7[o_.$hk?o7Jh^UUBk>'H^`mt.)HeXQJR(K -TLn3f8'D[3u#iu$p_);W#KMc-e$_Xj7J@l5^V@6lo'gW6?+QbMD,V)^B\5L --;'XSWrGP,i?r"=-*^j?*Q;(^A\X6#8c]2F6;B45k'FMh73c84#^T -QKJs&`'S?MG]CQH*H=nr`u7L.a@Lu+EUWI:$d;)YPXpHn"2URLOpm_54IkRZ+n-?- -&0,f[%g,JmiXR*I6(/[BTGkYD)1db(VaTO"A/XQ8)!>?H@B1\?L(Rgo"X'!6^qL&( -L('`t$Xfh?^o.Tja:&(r';6lc^q'n]`XLe`b+SA:!=&o3%-XAp&>9T9LWUs?mNKC> -XFUAl@L`r>XO.%S/KjHlTalH:a:P$^?6L5=_'Td'dXT6Q'B)Uu`O:9t;AA(Jllebu -JM7aG1)"(['>Z:6igUV0ne5FoJAlb<.Z>"V,[IEX&g8N+JK>F)+qc)F1,0(jL\<3Z -Q4W!Z%q+Vj@1*U^6k_jO'`iUt@?;;!A/Ja>8o!u;!MgWl">Q*Z@cgFETu;kOAJXlg -3%H!!;04`AFCf'#3U_-),HtgCN&crV2:$D*A"XhcfH'"2BaG&1&YP7PBGJ?sPsK:& -iER.nj?NplBrMG)1#,)Ocp0tV\AS4\/\".7^dH$_D5:X+LAJIaEo/-K(N8LRiH@\/ -i^TgX+:m]:X.i1"MK7&D6kVK;"J$^XW0o"qEUFL^W.X$fI[T!2'`cc4V9Y&`DLR -JAM`Q`",;(%Y3[QBCHIDD_*ZL%`cd(XDV#\jsI8=Lgd0?C\>1XSaF,rXQa==!7JPjn]NRpBu)i -%Y2n7@)rdBh@Msu'*0(Olt"5^b4.b='-Tm]@9"4S=qigi'LfMFdng`E6L/*BVZi;1 -pAP]G1GBt1'(6U\,$Ru4>4JV#>dH%gN7qR2'S6>s&"r&.i;OC@95^#tBpHgV_2oOf -C`+Cp)aUhM!O?4%>[sNK)te$soljJUDJ#)kZNFsm/PeAaMJ+6)f+3",D0%b%P`F_X -*GqrEA'4W+C6PFJ(Em6',W=NASee*dCm3e?Tl*$ZC2h*\OtjsBEU7QZbWSU_5:sO5 -#2oMlAk:+>h.[^miJ'_P/eJ*M%3X5t9a(hs`a-Ch?mj//&=tJhp($*5I3L@O^uc0-@Le1Mk?*NL -5b\QmM?oTP#Jb9fJH-8^r:8.iJEi.-a:P;d6kpkC'nKU)-o>-O8/*42lccPm#QtiM -7MN[*',K$=o2$,%5SNSH',>a -(_c*rA6do@L`,4_)e#pmju===]Gm_))rif!QYSQ>Dcd*a=EC?"UMLoY`HS_F3E;#! -22I5B6TR/`f1g?-@GQ2fQQ7`LqQZb`!H])YW'U^O>1&eKDn-fqF*kosR,cd^,V%Ve -ZFQ%i\CJQHKHAr`L:T%t6(ro2TmXA.\8k6\E:bWk/&lS=!1A'26P'W7%JsV]*(m^V -iJ1-Yc5gD=915JF)PO#GV[T+!XTRY7,7Yb3iN>ehFq&t^#@OP[\Pk_!hg6kRW4C%fkUD!n:SGE6`cE&&m$-$2b5J -bREF4$=KS85e%6\c3n$O#sbn7MB*AX*YI?D&^pXkiAq[?ckSiI'fruUf)-3F1g!:+ -O2\?GJM)U*ENImCO5W5M7=,X:*eb7cVEm0TFUEr04`*g,,=VYD/q=VO;YoP6(bP1u -,Vj7'O;ah()e#gX_^1QC;jD%"6VZZbkATh3kgF\:`%Q%3CbU,Wh46\G'MHZS/9"bV!3ci]Z3q4U -$UCQqTOnF:KF'oV%g?ju.TR0Yne309']E./Tir2[a;&,SK-d`9_,_8hKl>$gXVg[C -Tg""SSclihT]N'O`=(Lo%o2#Y5PJ_BU]D%Z#9AGi]TZ@G4lc_]`(QU^DVNuT7PF/!.8RM_MF73d\qG,^JW)mjAspjU(iSTL -`/&EOfLJsDR?T*k3VZ8QA53\%")o?qYW'8j+;lW>)8WUA@k51 -NCEpu$NP8U!-egcJdHsV$p_0/TY:i-^'aqP%D_rR+PmPmg^c[]WrV>n,&.W7@qm._ -%Y4*]T`>P[g($C;I -i4][$r",P-&WXbj(sgE$W$+DT/K,@abj='-'TB(@5pd7goo=:qX[+qF_(I%3 -r@e/9nQaERd23K'8EOO`n;YUYdDM^1W<-`R-X!493:CsqU"LC4([r'-kut[_ -Q5KRRgqANVTobYba@[_OT3:p$c4;2ZU)HO6SQje$SZBGK+[qbF)PNoq?^)F]j(.Dc -8V*H,V!&LX]E\G:P*@$1a;a9rW%_8*>b!8]6an-oBYd6S$KHt]<@i\"X.0#u*] -!:UH5iXV[_FZQ(SBCit,!eES0:M',`jVWn8PtAr(act.N)N'Su7>28%gc\D3*''8=Dnc":4+h"H4`U![N.g0HV%bGj$,FKTgLU!W%G -la>IVL7`GIg?`*,D=aINkAn,(/uM('J'$U;h"r\hU"Qbo3o-sXMTTbDm<4er7C(lk -[TTi%$\`oA^9q2=f'A%(ktG!@[VsjQ=Lj[=d^TSAm(BFRAO\aAAo0YRV*M8A="[3;Lt5b -)2;"OA=6@!OCjpCBrl.hdA`4>RO4QeB1k#0[jN%,!LdC4K,BgpM.-aJ*sR@bW\P#m -i4(6F6_P&Y%HJB"6]cq6a>f65i8up,K6ZrUOou?g57`C.g,BL/\F!9,j3\?$NWYC& -1Q6tF/4bcAn<>;YUL:Y]$:<+H*JT.?L)gHVE+U&EJT+F'LdFq2.ue$%geAOf3DNfp -j^Ch`($/>bE7eo`lS -H-UEpN\7Wq*?%5pFrb.XYl;@tM.ln$$dj?/QUQa;>/62'[._3$j5fp#-0]SX40J*l -#s]%8gg4pf!Hqg9ODc-A_F=9P?pWo=Ige\5dY2?gbT_5 -dDU#>`3B.q*Z4E(Ht>l)KUjj@o&"Itbd.GY-;.8*IGaeI3M//IVSS\GcUNJ^l;"Yo -nK5nCEIM4&_Jk5W#i\[6*=d[O\hXX;poZ<2"8MRJO[L?"57N61gc>ptJDZ3E`(5dt -,SWNM!94"\\9JLWgcl%K"s3rGGRe/X1^O16+N#='$=Qa_"b=T.!iT<3+bV*C&7c3c -fLcLe6m;^uBFY(<63ojc,6SQu&]6U7&u*HOMZHj.$:(L),-72i_,a6`BVlH^A5%iB -4t4HaWtchS3&,(t -7E^Z+@^K8[A\*'(^puZ7`;2FB%`f.0a$&i:!3u^`@?1E"ERSJ'+;Zpi&W;o@!sJ0; -EI0X,;A=4*Zt#gbJ;k,U`(#rH@>mL00kV+W7gT@LU(N&3h5p3A_]dh^iKB;O.UGeY -*+L8tYan\7C.q3]0-oWPSd'_hH%Rk<%(X$37X3:U%p:uijOBK%fY.gR80e?MQkP], -D[Kod0*QmI(P=,T&7O'I#gj&%_kO(=@AGc\ORO>Zk^sH+*'oB("sJW/E=O/I4bnV! -WC+Ou%[@;h#U%J/eehKsTmSKrjerrHpe_Db6m72eL(ltV/./(].0OU=%ft$A#,&=< -K&Ckj"KQ,"`[j0+UM&Xl-UJt3F0APnIir42J#@`MPSG&M[[2*5Q:@""ZVk5TPf?bu]OI`Vn -8P*&?crq-O'.,OQcP8LRb!%V[N]s.t=XU"el8$AXfbr:]AW5f?6_:kaHK.:0LZ#*D -_LP[<5sK$NYalLQbZ5B?HP>"m -VA*SQ:^Re&,Qrpd/L!/CLn1[o`/'6\@B_Kk.YJ]BG^U,hpI,=<2CtbV_&!@J$]>Tr -.^f&M(C:L]%ACd$%#fnt_e/! -?5&4Hc%Y==6aa!*_;%-XIJ'i3TNY]4`%2(J^)1>;o,/ks/W0d%#lt:G3F>L6<:Ae[];#L!XLj]s`!K06V -RUnu!kqXK@$&oP6;L;PEOQ:N)P4G9laNBs<<[VHKcjNQ0O]\iDAdtBL@EQ0bN&R:PXc\/TOdXE@H./=*VF/`B"sX]lPRS8)-`4GYaPK_S"=TKe)p5np7aKX/Rucqjkl7YDmGK53LL -RMc/l,_BDS]Vm685V7UZ5Qp$;(SW&sGZ6SO;?ZJ]"Gfa*1LD[E=9W^h(AOGRpeH_q -9S@tQ4a9)AfKOq<3!2u0^:5MA:aQ6jl@RYC"(L!e\2o:n<3=ia+m;o0FG>KG;$qPO -#%9!9j+G/=JttYK,^@E>e.aO)Ku$uJNPb'KJYNXJnVqOa6(t,7X;e[3Xgn/h-$cec -"d19&O)`?sn\>\a -qmk^%L#W'$C!7qdSWOj&]#b^!`&kQB'=qlb3b!C_X0=tU&;D*K%j58upgfQ8&!C%* -*B7RBMmt0mJY#NH."UEA>J*%K/-^?29`ZVrY\s`>%gGlfL4d,f&LN]-1'Xsm#+/>@ -YU'>f,(^@I!\c'TpauX%R"C,L`_\Yu3&^q)1BU:t"#)TbQoK^kF10^h.Sr:BC8Z]2 -63H8s">DnZa>ANG4bP4I5Nk:a3(!f[70MO8Uel&/UOi^_PtD\R8gQ(30[m2Q8fDEK8p$tk9W4d:Xc;%9 -Y;k0,f]S8FOW(QhLNK_hS+[#A=drO^NsM4J6XL"qpTRKf&0Yr&!c'J,_OO07YT1M$ -i<5Zb`XkNh9DH>mJIDr,_C+TX9KIBg!+3g7gQT;)#'i!;TPB5>Bb-""]XgGV^%q6\J:E"@te1 -\2OMg2pWK7K@iBk-p.U93J0"E4[K>U+@UtA:En.VKHN7,pd^")Xos<2"K5'!+JT)? -8d&6bKIAp7?oL<:f5!#;^-o*"ZTD5cqB&u6u -;qP3+@I%N,Q^&.!XKm!n/d/U,)H:B!_=_kO=3jH,6AE!!iS+2 -Qoft/:`079Kg8Oi)/ob(GuP;A=nVhW`&+RdejkQ3pb<> -;%?#O;bS,KJZ0)MWg^Nl%MiZ$>XG9o%#C(G=[EO>q4j0Bd&*RAT-sm;U=NcNi -O-9V"lO0S2$/K"+YeAYm\\sR`s-XQW6TYkkEtM)5Vo*U8eJ`EqnK`i70Y4@+Vl`u] -&qrC]a.6?J',_t35q8FN.u&1JP:7jknK\\Dck=/L-kS6J3@0mB3eifUOrQlQGqB4t -P6TZTL/AWhE+fm"BbHUR'2W;)+CYPBBEf;gKfCUb81M#XH@kO."#)H^=>9m`8-A?D -K4;(f-o6Je/V<1BWdlu0Qp:d>8-HFpg-#!0OuO1#"bX"+W93F)_:VG6:8"">EOR:f@NZ -p*,u5=bs:5Os>Zg=c^X(Ka:DT5XGS*2Zj=9!e;9lo\liQ)1cHD!Wcb]YTO!1VLcN& -c6+).1Gj`72ZpQa&"m$Y.=D@j=#['Z"b9MSr@!DVBK-D1;S[,RnX)9ZY(n0bb"0[7 -'',"g6B%V/UbL'SiM-jUTG^kZ3.Tu1A]#!Kjs=-oR_t+&f]TFEZ;Ynf-$taZ89K]D -G[/[$-/Ccr=SZ5+d03?KVOh1m=h^b!!N%u_V8Tq#L"K[n`ks9>0W>:_bu$i^hAiBL -0id-9+V\6#`Y%%e9V(4TrT$sO+<>GW]6$H)"luTq[GFm0?\p@@OM6mKnN2]a]?5d= -nL]KGCkg;P6o\]]G\E8+KbI*'&s4.<(ha+m@KsnV!sg3RQmDg$/cuQITTD)7(bZ"e -O91dr!jIUc#VZ>o7g!E`K?ur<=@e+D8?(f6".2*$Uhtb>nq5"H")p#J0JrrG3J6$B -[n&`:1h;8a8"ZY5K0VF"(dJ306\J!!"I:-`+B*t+Fp)nsKHpKJpcjDk2WNFJT5[=. -Lf1YETaCr5([+YK5Zc,?q?<6d=C=QnBK1Vm/:r*lJcHrtV/CkZ*eE5m![&QcfH#OY -)$,7%JS6&)fGakd.0Bi9"/%`/OI6oPZ@t8<^F?LG^fZe&CCFrJ/lG2*.ta7oEoaAr -jM9-P/kq;sV$se/%.6tbC`EmTdH*@=b+;TC38J.[X>mR,#:2um>m'1L+lu/%FR8A[4j6$\ap&eb/8q1BP*7VYk?]f)$5nF"_PTjVV0/KmVQS3 -)'(\FS7l:Mrc65A4e7h`"qfJV"m&,%oNlen4!o%iHa-pHmZO7`&lCb4.YaO+B9JZ= -*\_9k+DR#=A;6*?.)l&HE?C>E.>As^"lM?ABI3d/-S(.=K-3&SC]B"E5(d5q!`1-D -`:[h;7hkGT":.>IGY&`S5F#V9K;&LA3':p=3OM2I"'@G`JhflsUkBRK^,nacQo0Lm -4+fdSK1Ip'LcXKs8IIdP"AYeH84!FJ4Z>Vmf:YL5Qp"5156Ofb@HnoK+Abl(I>Nb^ -\QDs<=A]3qe-#2!K+KScJ0TmV*+Pof!T5&O!$Qr-."YZ(J]J^[n/SL=+BjjNJt/$W -W(."c[=q.G"L(c-:o=h[3 -&$ZT"0`#\do&cP9%f+*ULg5l;C,!7(h9pK8P'ENAH)KoN*C86"KMR=?abDXuDo=i1 -I8ru:1N4kOL.j`l8qCUa"<^2; -TLjg(9E\Vh"@tlLpdTq(8qbsgXN4=)QqrD):B_;/(G7+mfLuE1>_Bm>OP:!.7e6"*fu#K79CDJa5&PS`;/_j;_jT1G%HA$r -Jp9$#0fWWu!uZpt@PO8ZVHYL4aCDKBm"g<\P0%9%)3K/;0oZKn73N)J>[un --@CfCctLNFm5E^-TYt9E)D*:O.@DDncXeZ\4%5O[@^B-KZ=sGd:bW_ZA^\,Fe9![; -9rIU1d,&Ln)%;8+Oj)m46_b5",]Xn$F>t78B9UHqmWL[_cNc8&LurnE*tJVK$0^Ys -WYl6M;]17a7jjU]7[$E.aCd@K$Uo\&]\7El,#Dr`P$K>o8L%)h"KG05Mao&@WJ&]J -8>oLd'Ij7^FZcEtWK_-4$@O=T3hNFK@Z`d=7Nml7KMk)eS51[Q$q6na=L;9gQc`j% -=\Q&$1Rq/d6iqWtQ;=B@l;_kU3jVq,Q7TKIM6>lY\6J+k_YtN&'F8Zn`tS7O_,+A3 -!^R&:+EG=(,T?tRO5qX/_acH*El676q%#kj*'Fd!7les2`DKlC(<&cmb]B=0S6HZH -;+sf.SS)B`Fe)BteK(39ES>OUVjZOIa\lB.=VaGoBNc1WR9j0dL%/PM'rA:1>*d.< -Cg0MQ)/NOo-.-a=Qc9>`?PdcTGPfap[e,_6Xq0&qcO4--/`n2q4Kd-`q( -b6[)f%g2%p5nJ\Lm=^KeEtTsZ_JkS^MZY*_5EK^Y=@eJ=8AHg995*HO&>VT"O5Ar[ -0M<"R;&Dn9SEDrY -o?>TaH,uXm"-]7289goaN%4(fP!78!lafi.@?2SQSk?7O:T\e?q=X;Z;QL -AINT#X,*_mJ3tTDPI6uQarC^67'($[i`&PnM'3e<(hJY;3j]Xt4=A<7Ado@]/k%IU -$pbRNKdE`a;KU]0FK$P+G<"9'*A4u$,o"ZR./cF)c12V+]'Eg -#^@FZ!/(pC*(ZN,*[AU"M.WJq:'n0j.Re$O2kl+'M1I9+`;$5EU4c8J@3!mn=EG"G -S2#`u]N:i[C1-#I5)=IW,=GXf%tZo1#CtSIK()tP@=0_^JA*)CGa/qo?rEJV!h'EEe@P&5f[Ds/=.to[W(.,f> -:WJ]eSk-@-!oADi\g9b9U2kS%iB8NPd6j*QI86O4o0,#EU=o4M#AG.%j_OL)*M[R`%&'1HL=$&H -`/pW*!iSqPJP7N3+LIKP`+leJ`&>WfiZ*T$E"5P81<1rjRI`iP9f]/2#;k##1M+_& -\[d9'o\W&8L2p^bd5da;l:"XVe5#(N3q4GuFtV!b%l%`KKnusW1aUt9@;%2\OL>rl -aBXZYMCrc0[n5gU1;2;*P]@&C(Ll>PVGVJ+*p_QUO+BW.FS[YF!g$5]>[G)Kc7d00 -+B!k%paL>20GD7:IVH(g.KqFj?i\2t&-RVa[93KcKeIrZ,+?8tN^no.I=SO^>nUEH -TSB:IJh&UYN7'+3#4U:`_]p01dA/TgJC5\gXCsm&;""Q -#GB9V6?$EGE>UtI;#2/!^kiXholCBhfHfjS6k=jq3X:cA*lJnG&&J<4_r0Mn)W&H; -_>:^1T\:=e3+3-0-mXKS4r;-;JI)>3+9R.C&]'Pb$pld+"7VBhK6V)<5r^3(4*= -)C&=VQOmTp6\lLW*i/Jk>c[ci)Z_/-RE2d?A3_jqX)F](IIIo$d(^f -L#BKWl,i?VeGPlClAU(hdjcejg#g9bR!acI00\o\Um-b0bC]in-Gg`VZD*mi,VW[= -qLb7ZY&mZ#n;!,]1o`?\Ia>%R"_^,SV)6:W)?W;4&cnjg#0>0>"W'bp>*W"N.*O%@ -<*fg)^Sl`,4q$?U8r0_B)+*7]%/UosL[a`Ej6GQ2Ef#.`Ym)5l^ip;tqdbKl@N_Ac -C_*3T&YTgKYLF(*jpe!5%7&2I!43)@M?a-?$=M^)@;lpR[KiIY#%1aBTQ1;\e.c>A -&YQ',i+t+S1^lY%%j;'^+RBU=p^cSY&Rd""iDLEOS/+C]'OaZM!Cd_G.]hS_&`ElG -+SH=rj:21N>p/83a:&'g%RBq&i><6E -6oDe1'4FEGiD:8?@MN:@X:=AF<;" -eksRm)9!*0.Sa+iHM%=L)(L6Y8+oi^k(%#LIZ3V;/Ee:03;:Yr=""k*6:b9+L8c>j -)^2F(6&njF,h!p4qQHb6JY!`fWYU--#N0n6i/S(NF:1A5AjG];+MJ:MoFGFo%d"64 -#.b?'qZWre]>6*4",m^Tls4$$\SIQDT`V@3h@If@&Rc*)@."LIedWbI$p_$(!/q/U -C'nAJDa?o$?t9IlGQcqq#%1mD^jlhZWZ,e;%*M>X!4WD%apnFD@NaPQT^jXb+;:Z1 -hk=QpXooI_8/#D_AjI@8K)CU9g^Na]%"Q&!T[X=a`0MOU$_Xd5TYLuabRNM$%:ImA -_!DWJreLR4$m<\&Mm*g;4qs\?2'G6I+[5ARBGe#6)POG`+g;n/Zl_B:>NVDAR3a(I;4>KV1pbDPN(MU.gXaA=cH\TMOY.bH/:tkHq#G(s<'cI.&s1 -&X)bHf(;a-Ui/fJ"VAq>G#X7pIkPV@."K&W%Nmrf\m%I5jSs!^(?tF\R>[RYL`dQ[QL_E"=.O*j^)3:^6 -TpQ]$R&OMp5iIZMkX'kQ-lM!2c_>T5+b1F264+i_$D<7^^k)c`Zk1&7&]!+*JCY0; -cj\k/&>7qii9[Y@!,H!K&V2JGTbQAAiXMROMRD*ZPN -!8+OVn.5U=',(e9NW'Z.Jj#eY&7F_8$XEcu[QHg^$t.?i_'T^:*"q3W&S>,V5n4@> -dL2_:#b[1d!6Pbdl4>]p%Ud9cJDq*5*+o:3'VRKD`2^8\ -5U7W>Q&%^7)!Z)N7.l`V247UR>?Wu27mqQ) -Q)sI#VK]jg(#`I7!GG8i*:ZHI(I;.r;.gYqC<<:F9MonX;,0dQ%2cFl(\Q4re`_>, -N`"mNbDJSJ0q;#C&5scd(h&"nLYbad@TbZO+Q8P.L]JGBk<:(2,8&-;-!DP4Bg5$n -*>U4kJgdTbH5XP_A&4j(_5\?k-lHkWJe+$j_C-8;RM9/(#@O215`,gID@@[2'O_mg -i3j'G#RpdL%KQTK_!DXV(BmI?&g8G2O8.^Bh'r&l?uPHE%?+\G$5$$6&SR+5jhXY- -8dk^($\6/(5j/eOD@M,P#689p#],SWUb'k'??5rO#I:_k4A)SrKp6-iT2 -L?`CbGsSbl@RiB# -I+Q`8k<1bfHlbT2>@bUC_.;HmCKmUE9d,$(@\4lM>EU**HF -$I%=6ibLAOGjVk -i!tJC%]cI]_!Va7+;>u$`PZ:%iBe3o2A-#p%"P2]i1;tfaD1du$K.9V5X#=$Fp9(N -$%Q1_i+rKEo\?-3UiS"oL>+3*813lH2i8s -/YH8O7F=11iS^CaCj2s`IOo5,JR2$DHl,.o(*QsEA@fi*Eh?FsHU2bpb`GKD%*=:3 -b"iWdZ&GDfk?d+n<"BkBH>^qD2"N"`VMBg@Vr1F0D1pP8;eOr1`BNotJ/G3fIs<]G -DdFTuQ)T(un:i@GRl)I*:&P;c)B@(Zl?]XkoJ&PrZ:TK3:mQ3^l9#(SrF5unjcJ/Ft^'1!`P -NJ?(nndqK(,s^l-i78?:edgXM'7j,EVW8GDj:_P,%fimAi2]_*biBCC$m:]=!-GPT -Qj!It#=*5=_4V_In-5OD"JC9#k,&RFjLO4;88AnN_))m865(M9'VQW`_139:=rG/p -)aUbL!QS4aarD;DiHM4?9EDjNarE,#kB1RTRE`K707'NNSqLsp[>CG?_nhA/*+XPH -@EZMb-(l50_XS[9Nmd<4g)`9hGI=dn!F-B+BGLVP(6!8O!J$N1@6/Bt(2'3TAB=2- -3Ys'[H/X#?&V$V,h&1o"4$KrEGVg4LQ).7h([T(;015)GXF85p+BUFsC2?jY*dpI2 -+KB#t`M(S29W1nNc[mWIASA%+5Tq^3po#Bg6?j@[ll)S))I\R@JVW_\Tjo77+ZNjI -6A-4b?jbh>$J//]JlFm%M8cl0OkAqcfede -kmTih&+18G_$CU'&/!k[hnmeQ:rJVadL@:Y1EbTbTZ[Js#\G49#_6._^e+d'D@(kX -)aUE*@>GVK"q]`?'>Z(.+T9]=1(e+)P(;2rT^?fo1)'IWBYcA8JL1pnfF$QL%DPpU -5kYY[_@FBt+9S=J-t4\M":#)B=Rds2DD.+u!GJut=#HF@#/c;El?590O9rl]I6ar8 --PYl(P9%BlE49%'QK*D+h/5/Uc1_ -5]Sj>Y$(\q`Ef*4>kT'^Fus!TpNsI)[*($:H'OiKB!GJj1Q*!:iIo6Z/:u8# -NKW7A[9Tl$.s8/NEkGa4Q`JBNh06840%Z$;s"BeU?a(?i`T$iMeR:.6$iUYaT@r.F -]'LKU)2c>t0\D=b-`r9GA279rL-$93a8#TMm$:R%R*9'Tn$/&T4th9TAO,`Q%V3Co -d?abLY^r0Q^LgoEB>WeNSHp+1@@h!IVNINdRmrg)?5R:%12%PeN#`7n`aPVKQ/]T0 -.Yr[YOsQ)UTf,8r_`64.%O84i4q"+KbX7NRE<&68_pIC%%AR%Z3=b)Bj>i8'm$pA& -K@HJ[&Hle`9+tj0(.+)bjKLV=A#SNLNFR4o3";X%l91"8=QDT+6pUB+&;:-c;3YX;?;MA* -aa.V>k*aG5-E5FTDl6)4^2g>*$FHrU#5."shC83>$)ODH!jc4mKn*2BLUL0gm5piEa?:o_e@f5c*iMl\SZnJlkgYI -eEa^mq0qB@Y3WB%]["O.?Tr'Hbj)kP=buf:Di21XQ1g&7_s*3Y,a5$:GJ:JM9e26qIYK%g_Cj -/s#&Nn2LnFW9u_W"%^Ko;8ba?:mVA8Na0c'2NEFo5Xim!YhV/A -^u-5ck^sHk4@tB<1aRfgM@h#u1kouW-\S^L%:S`u%&%J`J^>eN@0e!2:g=@DpbN2, -n5]m=80nAR;$Psk+9`=t)afF*&-+"LfF-icDqc_e(f-r6[K`feRi13J -9jt+F6e'hE$Z0f,-tYB$^j6Nk!C4]prf"+D0npsuRDU`^2u0'&k1&!Kj#+cK'I8Hr -![:$gR1pjC#iFe6cUEWY=G?BdkQ4">%3d>j#6;92_m":o@I,q-&?Zd9i/&$hn32W# -fGF\j@go'03'6Wn*Q-fd&7Q+/#Gn(;`*eQ<6@;Ob0bbcun9,=nqMGPE!ZqNcH["H( -4U5r]mo&(f%cRUVLOfLJ?8-X86-M4l5h[-?W,rQ%(eKR(&ft?RD[m'b4pV/n+iJ>` -&jf8^#]U1p"2JU[0B>ERONJ^M.HV@2:`'=cL^V$A+UA*&*!Cfc-Uc%7&>BFi"Yb`E -JcJ[WJ[m:dYkB2=R&h(?]N0qF?n-lGb8R.3F,e/o=(5"bZA!RS';DNAfCb:SO\i2` -6..b`!8Ci?EHnZ5cFM',h-dLp^DC"8=Q6)"@:b[sa28*BbBjk_CcR9kie5=pKS>LW -)F?r6eKNU&MD_[t8=A%V/Ocuu(1Q@jMfDoMg#SY=,1WM/.7\VO]1+\k(gPorNc5mC -_j.+s?HQtI/u=rNQDU&>$mX2K:&MA8K,4J.[`I3!8bj6&+S1O[!.b\b)k+Ya@>l)& -i?i:;65+*N+L_Q/E+=Bf:-*F+):4%k;=HiKkmE=K^(E[[6O@/q+,6I++9O<0T7PWU -_`I]3_U*ZB65V]enG4(k!+-.cTJhQfD+$bYJu7N)6pP01,m9M;j>2+sKE'M@eb7U54p5Q32YQ,N6JhLW,o4"Ls4^+jE'''_EKc -#_`k)0LoX#$6[7%CCNS^56mH/*s>uC'Z0'0Kg8ZH66Iuf5i`Q0+Kd$05_oqZfKBH> -Z4fQL4UI.A4,>$_*lJnM'#M"[_rb8XL.#O-KY24lHRN&(f"fo`js_%1f"[*Q4YODi -T8nKH3@pS(Me(J;NKTaEae$O'HRQ*P_9HgAa_NCQOuHUr+N517[ZB#I5ho9KDG4+& -\Pa`57PR3F*?i#gP^Jtj"C_` -jC'rC6Zt\M3+ZO4NJD-kOIY`6B8i/;gr;r!'`i7uKM[13[-2-7!TYqiOUN9ZNis![ -pbh`\)BZjIYms'U08;<9!(3KC%q55t#K8apZmquRU-(i"Tc,*X!-o*CEgm=h$Vc9s -M\74)7L3E8,t-sh'k6*(MErpF73IKuTti[D8#W4t=FUlK3(VG-[@dV0DfoL\5mVr? -,9UP@%nY80L9T#B_`2<=!T5toOYdmUYU]m-i#De`:_lJ"^_DVk8;@2\'l1T^$f:MC -LiE.[KXe*!VQFVnn)$co##.>8W(hERr[2fdn:K&MYf":TX'N1e@Q -_gJrG=VZhK0+\\(K]jof80n;p-@tY*K(qN^LbT#d8JQi0"@u"7 -nLZN+3s-li";j(LkUeP41m?!@K:"]P^ca/D3.oC.KDGY&J5(^<8Y%8%"F*9S=?diD -69TtR"E6p8X!iXg:'B3C"R&m?fNJG$:'Cnu+4rZS=?M5W4>F'%.9[XBo-?C/4+gu[ -'PKhFq:UF/7tcC\KBYAuGW.*[2lcp0K0VL$!S@K^.07d=JhT4hOD+nY9.27Y"#r#' -J0om;1o^<3KCifa&k4hD@tnZ3^F3t(aa9cJs")%/[L1/$Ln60obR*d>LD0s%/,Lm) -L^Psi#5`'M(iBYjG_YFY$E0Z6W44G6FdSm`XgF4n'&(-qi1pJ`[tAr7GfW/6G)b-X -_'mNq6(U%;8VO*J,^<^O3+%B$j?)1'Bj8 -KJZZ7+Xf*27YD%,"*d1ccng9P.K\N`-u_3LRH"C^@=t%3"<5blJ5-7JE!C$cto -4Tm$E&n"2/Qq@Kh5K$YaKK)SW]7uJO1OK\Xbs*.5\f$\ -#e(%B3K*_Z,%;uF:o$Y?SMi7F/>0YC:q/,pup2EN(SqqRn303:h#.l=>.I!0>R/`./=&Q?(5eC"rXKr -5\C:'@uj`%&/6e8OSt6V#*EC!)qt`>r%J]B&Z5F;&3+1(cteBoBU_P&L4RR1knaq? -$UYJ;L/;:]==Ac/-9B3oJj:lX=>bb>:^%I9KHVZU\3<<"/qY!!`iq6#n1Ok`H'?-- -'OWnQ@k`Q)63LsoZD?`0i= -7o/[=K@i/9:br1r1)"IrK;^d45VN9'1,8qZKSW0P3T^JFb6;9UL+$U;Qu,]fDGdKf -84(XZg<)Z/Eea@*LO;F26NFR+`H^>E26\b6VJd877/;#Gn*ebG;?\`%7BVQ]JO>R_\Pg!9](W8qp&0 -RrDlSMZa5^BXrrqS0J6!/"E+#T0i3HYdI<)Y[k=4U")S3d -?mc!U,_A>."*K2%#ZQJe63J,l"8Ff2TKtsG1Ehi:Z-Y+(P\(#7C;'3].4oDfku!,l -98&`-1$Lh(+@QE=q#k(q"G3WVLe39@:PBBrPorj+!)\RnL,-8(WI3=1pcJZj7YDD3 -"?S/ecoS1:cia/3?`?s,84E`<6j'^iK9/;#?qEHR"eJg_KV2*DE(,F'.(!D4P1l(O -ggPi?h?.Pt"Fs*>!i^krh$%nB#)HrIQtloaE/,\4,/f,.FUt4bNs?j^g,5Z5or;2, -VO3afa[/1o"(G_lr%-d!2YabKC=ej^P`,)m#=Yd((q3]eKnhOlgDg>$BR!``G)TRq -RIWnjWp.X1PU'X?L"rb6\6#jpl%QL@"lS4*6LeSM64JP@RV:H8oeIgYg:4tn\?P'f -)I>`mY:luc%h,V;m&lgsA3u5+Ne$C*F/\15BXoZAYQ/*mdVhJ1@Km5nOCE$r".la% -_7DA5 -QqUjh8^:P^K`[;BJ51e88KLu("F*A@e4PAlq#h[:KLK[/82p_@70IR! -KPX_D.+nc[>6_=LRWOE_"D_9R-=RR*=_TZe9= -c%XMQ<,K96Y/:`2LlL!(8ZM?A8M)\1^ -^e5Cr7WD6i"B)6Ta?g#)E2sZ@Jg8@6[VD:?XJ(D7bB]l'1h*DqN(,9UQ8ZP*FpDu2 -#DdV?TQSV3cf?3R\7NEHW6b^mH3PKsgWhqJ0\`Efq -jLO4P1AJ7iI2BO1>r&S%IF^#5!6@"^3ZJg_jq%HW0A+bHuUK0Vg.!)Dd,DOnR# -T)mc"n1Fdh/:uM.""W4uRm:o)9S:aoiS%Jkd)n1C*5u@=Af;F:k]@'"[H(A -BNBgqS:uJnTgL;_Qq+E;6Rb8jK`Fg1\u7^s3hN')P13.)HWV]C5m-mL9_%Qab*onKJdk)L79[2gN3i<"H/>G2da$= -FW@O6Z"%`r#CepmGf>GA7T/9%%;d^qK'A!&3:pc2F?>6r1`DA*`7"BQ%MJAn,$X-> -=9\[r-$tQ(nE:@K;G/57%ni<0ORekcQ?@=:Rd@=sWbDs!?k7#P"uuS;;kbuee,>N= -\\Yk?NVOdo= -8+9&CBkU%jW.63nWV%1'=KGRTUC_)Q3Y_@/4.d$r;i/`bK0g_XW3ijM0UGH[;[HEL,moW#+qY*\ -MA[1Z4!)d@AAV1lP"):uMabf,UsWk_Ra%`,M7VP^2r"lZ$]=*+EOae!(Bq4hj`%[J -/U#Tg`oXm?00$UKP9#_)??+Tk1RZ\UF?/.%>]ZN#T?fP=)0]#Yf'@K@*H%smM^sUq -2quU5V8D6L\iAK*=$D[FXNb<3]KE@+7-W03q-:X'Ro&Hr4C0Z'>G]oXlum^`"bO^( -ZW\q]X*(GqI)]WuQ2VN(fl-=`Y*VeHb2_iuqL+\\V;h/o?5IODkZjI9/-&tl"j(rf -5O`*/s1bE+KO:).$&2q,`Z^(F6KURsA=3W^Nsrp<)2;T;VC@7,Q_j5,A!f_7NaeA& -">43%7Nmk)R:]$NA4R:P;\;PU'N5E1nGG]sa:Ruh-ctLbQt8YI;4(s`7T=X`RAO\k -Auu8_Y\k?jd>hlY7WFf.RF?!-B:8>4P[fl.^m61#JiJW2#m.od2@Q@k&CSLU8Y:J?'EO09^+MohWK+u=:)+u;sZE43c -i\Xeu@aMK"CJN?cXXdT5Z\JI,ff%OSm`B%aqj?IcNWXUgB^T(se$Ufbi-.&6>M`R" -V4hL((.F7rmlTX!E:T@!6e(gqn&+_tm>n=9rYNQO%0.2?Zk3&Ig:;>5(T#f0?U=/c -ra6Qi$%KJ)V;Z@-QmO(5'Z:S/9OXu;OS<*18hup;/'B8EY;[@HFM_i5F"CZT9iGJk/t%H!ZOk$m -aM'&u;qQUGMdolK0o_sJa'$((uEKX"4$ -E'R#%!??b@e3sS%?+;Qd3&ctZW#Vc1g"42W3OQ8Z_&J?A-d$tb9A5'di5@j,C?6\AG71oZR -Zh&Hbel2JA"_upUG?kF;!]4?^j/LS.jkbHk-hP)g(s9r@AJj0*6d:1)MW3NUZoi? -K=:Ia@H]h/Gj`:9@BGGD`dO[6?,"@f=%a]i/sobNP_ZdH9R2[QO?s,<1CXS^*"q/J -qh,dKaT)]WE9d]1I6h`_\@>,5i>eVR6Z]PPU5(-O"nCZ>.4l.*K@)am6:jdj`+6I? -6BVoR/f;JL.h'qWL_01-Fma5j%&]\`EUn&e6Uj\c2f4U@n; -]3KoKnj68CB`6n5Pc43:7QmK0]f?M.e2.Asdi1YnBoFcm1$GjeTh2dR-.eqKL01Gc -+X3&rn<+?70PV+b"?;-tcksY#?4,X6-3Z*3(]t%P$rk;#L#Bfc4[<_[!P:X!i:0Zt -!A>i&'j1j*0*+J.SZ79_gD#3-[04a:'7t:@Bd#Yf7)5"AEE#KEO\@6)c!_8p84X%a -,U.m9F4R`!3UQHAl#q9QnCVE(YePT$S,?">^Dm#'oBZ -H0i18.Kmp_jN,0+U8$3X@B:<+rYf>")Bk]map=Z?%h[m:(1?b@5^3Q,8-m"]#QVXM -+Tr9_bjusm;*^?P!1XE^`!gX#oH;!Z@*6gRb4S$P%<&`dcX))f>g[Kp?>nI/n)gWc -,dMtXZ=,I+.^ThjT[HH0'-Sb;@2Q3L+;5q)(#f]<@7'c^PRsM]%Ns=35h6Bu0`0#l --=I)j+W_hY&eJIM%nM'Y+T`6A,SK&_M8:7?+[?`T-N<3Sp]?]2-4X#ZV@eA'&uZod -5qW`-7Md54/E*0>@E'8F[fOi&[dYW'""YFc]Gi$#,>^5,E&s%o#iP2M*:;lIJ^BS= -e7IZtBre=uM)s^pG*.Ce2?N_5AqVern2NuI#>RB%J_n*i/i=lX4@@%K!FussDF$R3 -D8t!?a&L#%&f/C[QGIT*'#c>qkeRaU$;$sW+`upY:)G5T6D8oGM6]@d!A4L'7`8hX -Uc*1i$H;8Fkt0P[aem*P=UrA\)$A6/ORc$sc:]k`m%g.EVbT]Y(/:U#mHQGoa#;"t -[`JQG)^2Su!K%]0OV5UFaQa&(iM7A[^eKB-&E',b@#PDbM?s9=#QV.>5mS!Og'fW. -$t.9e+J&miY84I'cc%@C'9sS8de,l`%]),q`R=Yb$slg/?/[US;@*9eU_G,.Z7%OC -NM$sVa:nYCJ]Nud"d%0OGj:u-'`g-'5mZ42!"P[SVr685S'bSFsJGp*NFq5_P%51[WlMM/L'G2aH&Z@]ua81;E#$jLr/0^>P -kQY)H8e\Bf_Cn78@hM's!QI'l -a;^@\7gk#@6Q\gY#iMI@-)4R&6VtI^R;&m+iO"ESPeALJ>3#_8]-C]:L+c!S`86fk -*:'A6G*j;,:;;OhPigFGZGICee/4m0(Lt1Eab8Fr@C]DrB+aY89r-^?Tp?STNZ"Of'S*b"LY)mjOpQYl -$)"L5_F>"'0FZn-&"puN@'g?8b0M3H(I6+O@)rcDD&;-ZH]t(+V:#l>pA@66WQ6or -JP[&35ZqZ='Z!%dThlHbEYU(EI4t"%TgTQf9l5Gh'VS&4Q9)B]#-\^*@*^A5@,;@P -F'L4V&M:HfL].lXPZ;,b.k$4Qa;@o#0n(9&&tq0Ld@Oa>.t&7!*c`A9Tct)9+:qrm -(I=M"+h/JcnReK=*+??8jtfI4cl@[bLC8VO[Xi*-M$+3NOK4P+.5X'9T&K0WM2s&Y1nllpr%gXa3MS8CiF84mi+j%B4j].)/^tWRJes@=56L'1_t.c` -j;1K.R)E2]Ye!,R:mm-V6Dm=,k6gcUJ<#^jP5R%@=h6F8:3- -aq5i2KV:@=iBj[*8H.nVJ,qf=D*/LU7Y9S]ZP1CniD((1:-HEkWkh4>F<"Zh#S@(3 -%j:!DEHZ]EiXZ%e?reB^@13aH$JP_P&HN@Q=o]&p"qpa['=%NL_)rEmOqRjWZql9[ -EKjeQ#[Ts^&`TP`Tdgo\XrIoD,GO*9-0pq2'XIn" -dZ^,YB^EtU'rJETntm1r?l$S' -(ahom/mLVNkmFfZN3]JjL)Eb)!^a&d/_9ksFUJXRSp"`XS.:?pa'MMLL.9:Xkpc0? -Uc@_ZE=E.bEVC+VJWt23oZP\t8VB;/G=>"YTtF,[Io!L?Bs_KWh^mg:U=#A]UE -+LRo'(L`[L20-e)ON@Nh)Iu#N!IbQ%KF.^6#T&F)@%n)@-4V0>%3XpH5me(Z]F5OX -%'t'W$2.JsQG26QVoi%D^I&"TJ;C874bn&E+<8@3i3KU_8`i&U"9g!=TR, -omd',ZCriElU6=+OqM>&')5E=@58IC6kYKH&o/1hJZ*hqqMeOd!d%NtK&@Usi]!0L -Ne+PiBd,;hE]7r#-4'<$dTDS;"%UP!PDdaY]ShU8CcT\hBrfj"[[:[p9"ff,*MM;g -E(XgfcA[K71/M9k;m[6u2HNA\CbhTIY#H5M.;gL(.^Hlc8n?LH,^Mi4=;r2b[Mr`q0GCn,CU@Vr&n)O`!0.BDL^2k*#f(lq -i5VlAg'hB>H/ST09^W>iedUKY(Egd-DaJjKYBk`FJO&9,+S34mMZ%JI&^%PfF3K7s -e6\h8'c$clBJTS5ma=Bt'Z!6R@8i`a0ni_3&Eou$aBpqmg971C&.8Ib0DlE$"qi,Y -fE!7Q,(LqB4;:E.h.SRm!fi*JDUoj;&ShWc9dgXj)A$["'1&c?Tt*e.?)Hq/`Z`0q -+j(cqqA`qP)Z3`MUNabEK?)(?".Y&n`bEN6A]YDsa\lKfUJb;MI(rT/;LMO2NCnLYdZTU+n -]fr%1)n+QnmBJS`0fDa35g.S3e\Sf(qd['YF7cq`)2-?Ri@kYTKF-%"$"0&)@$D$A -fFEG]%"R+D@^$8kXp]d-RiAQaJCG"tG?Wc)%,ZLD2Ab,(C51:^.NocEJLoM@5_4T`>TgiXJp"%05/npR[#r$/gM*-6X?S -!_!!<*%A]0&AeF(9.#l12&_06TMDC`M6tE2.$I:LdV2+$,nc53W"UVV11:TN7AA8u -[j-12i,?d"P.).>@4uQ/*&=DgM9=q$\XY7;ZY!+oEOd'l7jF%V8Yo8IN`S$)cKC_C -C,JF(,!>!RZX&>lq.Q&]6+J_r9e]S\R`FcMb0pmmCWmtpo>HXu0ON1icreuS!-h6j&IK'`,@?tIi-MI:@m-P=4\S8*W%EuX8X -XDOi7&r<;3G7ok)Wp5bEWnaV+U9`UU1<4WG2jNQN*=#3h]<9>jpO(jkQ1hknkC*Yf -*X@;NG@54PT%"OPO^M6)jX"5.'?(V+;\_`HG%-hMfiV=^-*_FB[gbWDh6jA3@U:uG -$$DUr"m^os([_[*iKsg"[-^"g6&&dUfnjt62Qe"%m(6j;aR9sa>LMVGY=mC=3H(D[ -X?OtHP5T/l_uBnUAo>Wk_%9QL&Xhd9en=?h;3M3P:rG4$6dZ$*&k(+rVIZ--Z'8c5 -@c37oM..Tj-4"&.>4cb6g -.RF]B0cimuKL$AE&k'3H9+n&5f#\Y*M,7))V*S9d'kK[+<"u0;7SXY/1)&RZ`1[l0 -NoQ5P15o+t8j3eS.0r;'eC;9+'*Q]@9NNL5-qBC&#lHn"A?=9VPM\f=6'HuD/4rk% -R$\Ng:eQZ+kT`K7U(P6>9o*3n/dD[I=\CJ]XR]aY#8#oBUOd1r26o*ZYhU3dd%Q\% -NjssEj=/9RWKX1)$;/2'/&bs8%X%"F@C#SYCZKUk`V<_?_Z*uDn@c&l#f9)^nLt'X -?AnuN0ZF+)(BW5kMP3F*(oWo;ieUNk+a,Js8X1&XaB=rdDCriD\i*EVR2[;n(knou -(M@,`ZS?jP%AD*//Blfg6`SS\"$8K^r*Q!cl?3Y/^-$6dnt"0_0nr!84UjkM*V7i; -=m=m\#Lr`1aY_Sg=o]Eg0`rP/,_BS8@Vgih[>b;916=35)C'3;NA7ks;#2>P/a3P_ -@@T.Y=O.`@\0cmUOqE:<1'_4n.u'/@*E8ta%UkSSL*5!.;D;p.WA,b],aoUgCSl5, -X?d+X$mEP[OV37*70qF/,aJFo;rUVJM;^uT"[K%%6DM<(@46"sB0BPTYR2:PmI^ -91WH['1?q9$'f*K"L+D?69n-Ld23u/TS!k%,]Jc`^.MF?/:rPh$P#-_3!U]c*@%(n -%=t\g+VN^dYaD4QL!9tV9J0V4^og$a?<2tEBWW#F[$F%c<`chd/TCQs6fSAXLKS%m -"gT;BJ2fqZk`_KI(Y.).g;TP'k47FMYDuXKj_&>-E,[WR*71C -J^5-%M3LE7d2s7.KoiRhg.,(Lbf0\)4H/e#>'jRr:-H''9^lMMAi_XN36F5O7bF9, -b'O=m]!l]kY=ZY*f$Fa=6*6Cbb$gNc>B%h)j$[U@0qs?K+t4J:c<@\kE.T#LkA4db -[uA/)0#ST'#pC!."JCbdJbV_C.82e9i;=S40OG6^Zo83@7,u18Ce2C=d0="")1u=< -%g`!^#\kn8"Gi3QWb"m1jYj'U8;j6PHr:h4'Id?LDP"tW;2V&<-]FFi'Z-YB#lt#G -n4!`o1GCeD!9P=ii.M\//R=2'1*hOOPnQd&8dSR:,fF)G&>BsKdr@eF?mREKH!F(K -;)C]EbjZ6S>Y0a6'I;4*fI#o9BT=(cRoYeG>#d8F<;#T=#70$&"*&6G28`IpfhJNJ -U)'n@ZWN+<:XL((Fr4EO>-!Wu*>#lk(i%r5l]lTEor]=%k_NH`>XjPP^iu:>8p"S` -K04bl?]2g@/VSGK'nXY3Vf>lj;j!1X&WGP7EGoNloN`7[qE[YNV]`*'23>8KS=G=1 -0:H&#AsUs:N%Ka$9]V3iQM>%GM%\+ZdIWSRnZ,oo2V2Kqc]g@k]V-SL1*q!Y)3&TH -N9!qqL7$;OQ\+a#B'tKD7Hg#g*+fYBJ0Vpe6jOq]-%pAV'*@/a%Y>*VL_/VbK)fNn -q!9tphD-'K0STPha@Y@Sc@9P09 -MM7[=85Wj44t9!;p(\cr7>HuU)3fUi%EVR1#B9M\de][N@Q[#i!?rbAOIB#RCe"c9 -%7rr)RM/#,:gu.C5q,qE:6.3<$/E9f'LV0t_AGlOOSgI2#i8]W;`A=RP-i@Mdi:5/ -)@h><2Y5#JWpl3:BD'eViF,bmH5Aq#N>&%eG*C=]X%F-oU/Wt;@a`fQ9NQ9B>G04gJ]K!dE$Blf+p).$")'[s?p00V7"a\]!q7jq8r3Y6!O:QC"+_a#J2`*O -0qQcB'!OR1;^d;Y76,e"^kF9ONS\!;[#L; -+BUWDd3O@#3C2[H"3<\0$m^Ks7Ym^-"IMU\84nQhOT]E?"B\%p'+"f0k(OJ>"SbZE -&5XJl`i2dh3rhplE(cE\7YFT*Q,#cipfiL<%#IWu7-%**.%1p=R@r2T.NiL2WG\#` -VM?D61\.\2lrV/WFfR3<`JdomX%,!kZ*]=d(:kK@CXe,C*".WJ.li(eR(4%ZA>:j7 -,GNFH\F_Zj?\R]L"i<$KTNHnu=+t$\Kc;MYi)lb%C(6Zp%7jfcT]ckP6B-TI,XCA' -ZJ2MgWu1'cO%B&JioGh\iBKrd^G=W*nYr;Sh3ti`L+$RsY[3c;@6`EA&(4(3)#t2' -qiG4f5l%n)3,(#0YRhat#%S2SnZi@`$&6N;"saSlbRMAP#`pN3L59ULG[Z6O,/I)" -acIg#^c6tV3Wnk<"4/uZ0J*@q24SnO0I%V@RiR-7*5Vt9"$="I50LbMGS#WT*3C]h10"3FKNjg2lb%m18qc\dPFt_nC6\r&;+tGd"Mrm!>W`.^8Ha,p -KMXf787.5n2EV+;`9^9cO_Q#cF!0CZ#/!m@?u\V7<[uU#7BB[n$4]e2cGdCc4WIab -\9&n8\33Mo#@lFV.NcYlf*g[$]rPJ!#[5N(=p;-8NLJeGi]t4VC)RZ%"`R@-(rh7i -O9K<#L"\V_Lt2ajEfL4I7pG'b[!+^eU9.>J/Lj-m,^U%Uq8^\N%U"g\@rWC=nd[Y: -R\9Hdm!fJFm%hb)O5U8WdB*ro""oCDL4EkHM7?+S%QB2S&+b)O\8;GkCPF6E^qaOd -;7=S?PrG(F2n2G2_IH01,(`WCK6]!N#X/?01]n:>K'=Q'99=dV3Wl$8K9/*GW&H,D -0nVll*B683X=&Zt6j+o(-Q7%lLd[K\9sD-Z9*eP8&64F/=@UA5dg8,a^f-'I9E\0S -P$2Z(O?E^+We8)KZ1P__?q#a):;[df%"Ns5i(?VR%tn2h9MeU)6!#L77)V-I+6%M\ -!f_kqrk`V?K7HPu3G]hRDT(>Y+L7f^"On3kXTp7lT^com\>BU%;pCds:!?_a]NSjj4%p$N*XfXDKrW1IQs#-=E21Q=/Zf&V#j"h.=bV3, -\^8A#86:MDh$)Hg2-B%$4SC@/dnb>X,TUbd;V&9upcf^,Xf81dM";NodZ1/K^F8@O -&G=*fTIqAEUk%sU)#G7sq%%`T*!/e[4UD[=B0ai@Rh68Z@sE_g!X<=P#.SKs#\/Sl -$jLHRO>4&nnHak`!0AU@KlAr%3$V"X@jY;=*p>]gE&`Iu/3%pq",*@G#WgBF3eP*k -""5o,82l0s]?5XiVd.,m(dEZ:5(it+<#A!#/M%V//d3q07bYu86u/lsL6C&[8%"E?'0P9&UpdNkY?ZTh;Z_J1,Fnn4#L,IUhKQA -f]In7>#q3)PMf<9W)eV6>)n5J)@A+*=Q\3Km)OG(,U@@5q",fco:t@%cf"Dj#hk8j -DAltMXml-)!^KhKnubO^^smrfgNQ2BK30CW/r9X#T`kuF]\(kIO80?Dq/*8;$kSe= -OWBK%.C$?klimGS!^Iq23$El5,Qbb;K8_^@YW7@*2M1-FK.&NYr%nMS4'BM"OjGld -0K!"G\ZtouM%YsS!']-k516As"<]uiPet$,JqZ0c"`RFpLfmbL=p:&JZ'7`]n;[X5 -6\D6L"-gH,\3:#93moE"=Qlr-0Bme:5$5( -KYU=cqN[t0;6\/;"C*4jS3DS8:'OO8LB*Qq7EaK&BAD"dMNDe3fPA-JdTnG*>uT'< -Sk?%+W8205MV>D;Mb@UO+'&9oMn;Jbg+oEac=KPr"gH>W\WdS[f`g;A,PduqfO.19 ->:`)j#Zu\4.`mXu[4TjiCFcS*P2fo&?`jVC'L>HL-S-.5Tt_M+TanSK&[)gW'"9,6j&6!!qi.;5W@/8'\Ua%K2=?:+?5"N -'SFIkTOgEB0L9-W4k"s6V]\;=j>b&=9sU]sdh#O=;D>uhM$2Ig]2gop=?4f+3WmYJ -"<^!`!'OaiW(YK)":.8G8_Y:_=LpIj#WPN]MNVI74p/#PKR,4C(f:G*LP3)sPTHB[ -r$E-3"%o]/KLeH4YYU!MEE&X5XT4iI4KEEWf3'9ep*_M?jKES:s -ROkGU,QtYGKE+4=fK57p744qp:@poZanl4bb_1gLTJRufW'l:k[Y(MVL2_.uT"i\O#Ku01?)*1pFXPFO>9H5.CY(qjQ-cj8_ -E.SLeI0B=0K/b_l$ODpS;hMS'IL&l:F-:Ns>&CBIBk")p2OJ2i1s5UapdSXh3^ -n3'FYYCB20o[#(YR$2d:.>$^K<*E&O1;[ekp% -;lWi4eOLjHb2m\GCXr:cHEC=j3UG;MgQg0%[TdV"qdZMbF1PX_0"5&aeEM'XY8@*5 -ZNYut>d%4f('=KF`aa"HA[:-2\QphSCUMULDk"l1=)5e?q0]qb0N_"36OA@^@V](^ -(&I`X^gA_G$UoZX02l3K@U*hD>WBfY0/%"4706Xl51@F5oJqr,JB0R-j3ZXG&bDDU -:R$[br/XZB\L'h/aWVQk&>UHP4:m0jr]h8(fu0DN#82i`VlBNGTUY*F^i(0Hl,7Wl -C20?=WqQ;/XXf;=aKM\&b0mU9lU&%i?.XDiGcki1p:6_&;ZafiCbaGX*LFUna"bfm --%RjgM`T0>pff.Q1g#)un23Z;`;>qa&U7OrXhdt9Q*'"M=VgA15[V&K".%BJm/uMQ -5_^6'qR_dj=Ot.(VK:h:M><>C4%>Zd6/s):[G1\j(.'L`U#:Qra0(-2ml9cYbp,JaoA&gUTK2[dKi -W\4cj(t(;P6br7R%FR5S0am!^_*s?Y_&,o]'Gl8lUT!]B9G3#0*F6p#8I.Qkj<5F+ -&0i<7NT+c]`rS4KV"el2!Q$gO$Is\PSSaVNTN%6\'jV3,El"$^\sHi??1<6MY:)fR -$p+HB_l\A@joE2j@@CSUgrM1%/7m&(\JHST>DnVe04EeP1lSE$S5G<&fX]QL`am2L -EG-lAE30kL^fq2qN63"l_`U9tjdq\BGL&>_4+e9B)O%,BRE=PK!s+ptpsU&h6U<*@pc)R$^X_+\b707Lg3%3,W57H'!e8bfj%r -?t=u=TJTL7d2^W\Bb.:MAE*gbN+%;kU/8%:@_c/7P8Z'n!5q$:Tq)THJAfaiP(;gu.&'Fr/L%*S0 -K+.bh+j/jN,q1Gd_H0VYe2iAhrZK-:eOtK>6AP3S*Wt&D9EI1F#rbs5VU2.RihH', -E]PM"S$!HD!)Eop.O5[8LCdnt4GM5*)$>,'%qMVmLg`1j`CQF0!Ve\[YeV!jOAQ?. -9J;.Z#TuLMD[f"*2$W`,,Qt?<'+XD3M:ZhqnK=)0KT&BV`7Q:?.u9sOr,GUArSOB1BrJ.)?T7aKA_V"624%Y@3?bIYauP\ -b,Gg.E%V?Va;HAXCe8'N2p7%g)dL:L8\t$`La!,a;X=,hU$OrJi;Oo'8<4CNQqP\d -4t&i:Uu&tM;$k9d-A8mt'EX@mM7_mo`(5\1!\?hIJFtM30PV)Kn2^c(efD]EUD4u+ -8Vhp!W'dkS%2T^BP-Fa6Vtb$<+qR6WBp^1f&=fID]LiJL_B_N_M\0DPK*Ylf]*%P^ -*7+k)5gjb\Z+!,On1:QeJ]j)ij:fT2X-)0pa%QW5&jMkTXh.S.gK> -56ufS+bW[^'gCPYg-M5gL:8tIA]SXZEpEY"hB061&mlqo&4)*r(*E_cJIu+q%_BJ= -TXUHG'Ho_c69n@61_YEe=2_fb!?)ON&.r^g%h'osi9nD]`XG,d`Bb[n5nX_orXhF5 -&j[]PJAquted_]F%D^Ch,uP7>%&0FB`/3..as7U.,S?^n#%8J`:_pYD%M0#H&7II: -J[QOA]Ggp&)iSN_"fVf)PUIpeV(,O1Wa+fJYZsr!l>EW"!QZ6uYT0gV$dQc66/"#M -L4on$b)DeUma.pa_I:?L(XDI9m'Rcj$UCKq5h6@:cjhN&r/]'Hl25SfSS^acdA,RiiJ>`n^hE01&i2.P$L0gM -Uc]m7Acp%8UT>;j(t4I65Gjf_Apd&YG)k^dO,mVsiLMl*B/W&IC&shCOa7pX.+Nm; -C8S:P,ZGXS3nD-I)Bk1Qi1:/[5RCh]#[i)e!.kKlRL3H"$46&B^s5QFfYYGNEsF6+ --Su<-YXou&9^B92jNnG^'&kY\_))cj(_:$6$fIhJ%4qg4K'3&='!^mYE'&`j77`mfPTeL.jGacOt:o -bp/29cL;V.Aekmt&OBn=;!b4"6ER,T59mWM0/TjWZo%;85_4SVA-Or1;F&=e)+2#9 -W//p"XH-@Z5jKDOdqL_(C`-/k2ae!>6ki&ok%c5I7,aLN_2]>*,R]-S$%S`V@#PA! -FpGg=#sb#s^nM,XXpe^\iMgk7cqo)VXI"cY%L!sbT^iVDp^\g(&8f_K!;mBo%M=:` -R;:P@POs)c3h^]k:.NkKagiX)0-?,)&gs7^JF^M7";(Y'Era*'^r?c?Zji])%Y3UQ -JPHlP/em7s&7Ein^rQi?V?m6u$t/;S1):E6;ZVhPRjkEOJKFod(_Mhs&KqkNi=pA7 -!Y)sg%fpDl@ZO'%M[=Kc`cRFn"fk1F`Z1hb$Lh,%-@La!p*0Gj%bj+:COF&<;03Ah_&s8%X.7rmar>9f$*/T3fbp. -XV*K)$5WtW(*R0"Tl!_.)USb?'?qN!VJ]ikgG7g'Nf+<'PoTKg_,^c-dn&XZW:tBK -EAgO2=-\.OiML(]TG^ak6C1Z1h%ME1;%H-(NmBX60\dfka)kdr[+Y"(4*Y>"0;ZPGX^pFJ7 -X:#D_7#iO!&]U1Aj#Cuh_+VYFFO[qpD*$Mmrhaa_aKIl^$:# -o%@mpokr@F/sQGi2X`9FnuFD-0-`qE!IUpM966tt4Ce#ed,#R8h_0Oq(8E(5#'_t7 -cp*04YKH!?#(okk.QsR'5@`WVU[rP]KK\BONi9`VeS:/1>X\rKP1NJg2cB?:rbUn& -OUDe>+dEmQYh*<*&`CS65^WfEKF+JSMmJ?fVLq@16S%sQr(5hHJ&^^VF%$p`k^amKS1g(*'AH[ui"JKth9,eP_c -`6rJaUqB@mBFs,(j=fL'!O*N^W[NZ+J='>j=BU>d`#OJu)_+%J+j4UDa+kG699ci> -C2iJ3ZDN2u?<"Up(lKpHhh`ZV9m#EPcF8ZHhM%9UDHO5@fWS)95)mmBX$\A*tt -ma(1\@PK47CF)s??5KIq(4)PeiF]&TGSh5:5@_p=BW>]4hf5nG1Q'u]A4A_C9PO[] -F/\6.j9@_&"Z=I>FG)G0)WQtoFH/h\eUaA393E%-\3DQW)Zd#Y@<`N<'F`p($cgR< -@4Dl)l3`&l#@NQ!n[>(3q4/Yb%=le7Jg3RWPR^9H9]60f!=TL3m?dBk&7i=u_'Ik' -4(*Uu+%9WPpXj]+7MN[8']Lt,12Pja5sBi0&tq>sJD^m0X[4/E$K-pPLPuT`fRJH+ -%KO;7TYLs9WXBrnE3mb!Tb%j0p(&;T9BYP(,!)4G0]p1d]\C^D&2sW,e:=96)s*Q_ -H6Iu5(g;N/.j^AqU6$m/2l!5$UdEOc<4mjnJmDPX/uid(ba##P#VIFfV>-MgK*!(# -l\[Oj0)2KF0)ph<[DOWTmV%"_8:"_)C@9V4'Ni._:KZ)0+V:TOE<0YeR,4jClE6nF -(WtlQaQ@/^]KDrcd\HkX"2+9E'PKl3C4nCF:Hah-h_k\VXubZ&q'+F+'m>EJCj/K; -`&9sc-M-2"&a)Im_(Q"\V@R(G#f(rsTXG:0d_d"QH.so4>;YB:+:c3\%q+h?n.ZD2 -3)e"ti5/*SH2Eu)g_1t8Tj]d&;>_Y)8ekc>'Z!BVJQ=!]:,bHs'O`O*5nliIn=LiM -%"PO+mA7*2mLZ'M&:hD#a2e[^Z3pmn"_o_'SP=H=ndf9]@pq(/i@ko82Wj+E,ilPN -een^D*.`[JJYBSWS)\1BLVBL.L#nUP,&m=.\Y>I..U2b%\j'rar22H`LT!Yro[rKK -lbJrdLV_NWipX`H-,Q*a?s7Eb*&EJRbMJ95mKdtmN63t%R4feNWqQ$;k)"/8l)lTp -(ZmN5_.XTmA;9BH(J&sRU\M"pe_igMC*Qn!k,hYGEbgqHNf?O%`hTQY1Net"OfLN0 -cYW=/kB/$aC!0=h#mb>--lN466OcL'!Nm9U:M(aW&4%;P!9ardmL.s9#Vn^T^s3A/ -OQ&[.%HNNY@-S6[mLH'A%Qs"eJF!dI$RYrR%g>6Hau0jJ,=]sh]M77q=c1,QE"dX, -'HojY!DN#>'bR-<[Z'PcThZ;q)@jR9Q\;DM+LVR6Sd[(P6pU;U!=B5XY'R:g%"Rso -+UJAs*YY4aUN>'"@2]eg94%]U7JFI/L[cBn!glWZ'HtI9:l659Zs&]NKj#M2U4Gmf -L`C!Y)o8[o3[i&IY6qj,gRJ;[0Y%Q3^0X+MCJ'4QY.S)XqnLd;LV_Hq-qqddbMB\) -VRGOA3cj/+lVNo@mX/rkXNn"Zc8M!_hucYb_njAE5h35_4k:%#.+iQH!>f=`!5!'p?^p1>-K`@jVE"@^0%ZBS8C0'P'!;XQFjq -U=*aD,nbrZ/X4Oq2B(sBRj"$BBX?Bnq:(Ct4_Z_+9idH4T%ISQ&#YX(gusV`*_qr_ -q%RjD/K$&CF&AaaCH!4BAn+unmWLW2CZf3Tq!*#gUJWEAiXlBH5p6g'UhW1RQ,G!-BF#TQTB'6kEj8V@5"9SUnLEXf\^<`S> -F$S)_%Waoi9C2p(7mYH'*9TW;FMi(Y2[g]s@G5lFE7?r_7.AmW$GfP,0Q]ZpA4I8# -Vd+!V7^7nn*?D%thKPO2BlP:eEY3P%QUT,S>*d.4DHmu(a`Lh2EhoT]9(KN??Pg") -Na5MMkR"W6t[C9 -.>Eg";o2(=Tgj=7D]<;B1hE+FJX]ah-AeIgRO2I;CR>=Rb[VC+=SOnUK0[dE/VD.\ -7LgVUCa][D0[);3$J_s%4i&MCm.6BHjHmR@f,GofL0 -mSP[SP@X2G;&(AX5#IS6@9?YKL(t8-Q,Ld5M3K:eL1-33.-a'Y_m%o[%YDL=/.07U -]6N*u:s:hT6GME(5gaBjqF.Yg;\a6@ -;shD?;'[[.*:ZN3FIc7*s2K!3g!.KU>\%gpEp%?sbt'T8LG-d_)07,?noUQS9!Y8- -eTFdNb:^rNFN#rXdaZr.(`gQRgNR6=/7Y>PnWJ^SeP.)n(^9GR,aN"m@U)Rfl%Y+k -.(()\dRH0EM:9IB,\9pRbk"],eMkR#e&FD4LtG1*Ps:Xl-"phe[L-bcS#4T*?Wc2p -5as<66qtZ$eJb179aGd`*^bHk%=u;Q#*@+O6o\ugi;fn_5fsrOctH\-TlLA,kT,;S -F:LUV'*f*:>f:$2&Rl/4YHmL<6qM_=,%+%M;(?$Cd%M,)E)6lr7V@DLSJ4E$-B",. -/B,-0']O@=$diQ7`@/A761d#NOVf:\0TQb'BJ9T$Q4efMH4HX=1PN'C)M5b#%0jU7 -#6>ks`H[md@an>5nQ$p\."i06+@M$j*+)*jck1jT6\nSJ+iHWr&7P&rLZ'R<>7?^2 -j)jrPkqG(%+QGUu4E:oD^c'32fPXF7;]k/iK:C:$Dhu*B3!TZGgaWXpN_L1s`rP/T -Jb>>MTurD)0'4/.R<,NR/%VWLkYd&3R?!ui]/O2a>uS((cLKbM,h25cr7d^)FZ57+ -4JU!7Go8sm99:lcUR:Pe(F%6R$W1t'`X6oi,8=RK=jm!k.2c%tP`!*Ie3jS:SlEjt -nr_PRpRaLG))&DiN:KA)`c0QL@pio-@>H\YJBfDB30k!$8kR41$Q9*)9o"i&*iE=Q#9_Y8K0XPd^sjEYJ?0ST(h4!$6$3pP4rkGiE"3GH3UtJP@1.Y[VMFb\)8^W%$K6(_L_2Nj6\&GN!H]rJ5aPr4#\OP(F@V0Qi#b?S$l$RC -:5F_5>f9HsO9.8P#dFk_6jS@O!U-qHJQ+]8jfah[J8_$A^4/W:marbSFUiE.2hois -*&;Ei[nDK->T+#:pGV)<99jTq_i)+IDWmgm)7W10IrQEOD[rZsG'?p)84(lR\oa&! -Y;PB_S(Dt^,bm1/l:BeG:A<"Dd$uHc`_mckj,=HPUZ\*fI4Ac9W^T0?7X2qh@g+]I -f9GM'd(L7[Bg@U;i11.bTd>p6!C#Kmpg*k6_i"eSc3sEJ?YL)q:Q/oqEO%Gk;KE^C -2>7O,TL?e+0c8q=BoJa7.Ke%;$\>*4#D!4(!n^WdEKiG@\?I'=ILH;TT'MEY!WK")C!+EN=c4'5kdPE+M2lH&45T**j'\>)fEER -j,7@#6,Ts_5LpbuBsMRBSq&_ZdQY_e]HEcKqG>JtDnDccD=fWq2\U\rgRiTUWIqed -_G*WhnK\:K.CYIOVJ.AB/-;\1IiVbs-D4\BYq\6@"fKI("sS"#P'!)\@[)CPLi?gX -!dl&VM`Bp1L2g:LE+F\O?Nn5K[r>Tf#qs)>n;%aLL4N5;99l`ll6mfRPr[e0$_=2` -;[.<9T'9=Jk`uF"S-GWs'9V5Z&7u[`A\%kTZ&i])86uHB71/fG)2LHZ^d/$@.0M%R -K.'+j^cDOQ+b?"']'qBU!hI5LSr2_iZC'C!MP>a%4G2QQR]&K(kWT+L6Rmqe"?8l( -O@fZ.:5&[EK_S:\E)$P7^BB?^"DCA[Lei`/@tjt_"HZ$H^ek5LdY(Fe.i:lH$$QLr -dtC!6KBPB".-*PMD$0R>".1cp+>s282u8>7Km0qKnre6(ek.s8d&84 -"@,8+9$d]K70GT]/L!T_LdD6SAquIg^59'50s@^"gBRf8#82o_iNp9$n>/MD&Xa)O1?qPj"#2_j-eooE\!#\_N5OFHrJ3SB=,pL4F(EaD+9@@L-]7_K_UX -kaXAP=G9:8KD;;G3&#tM8HfAZJrh_ia=[R^9SDms!f.qLL`lhU0*;J6!t[00LbakG -2?RVPK:k1+GW(1^2Zo.'Z/asrJ3h*]08)AO"GfX&bX<:=:5%7o"NX.;C=!)K70J3) -'GsOHfJeGFIKR)=",Jjf:cO-49*?6JK?L\QE(5LglmbOtKW*m`Gj0lp6\IEVK4mE# -O>;E4.YA!_!lLmfGX;R!9nh5&"ZTKc+A;oCe4!>L2.3Ha -OfSEnGqfK]d065pP!"IGC"T;>0+pp)0)M>4m$.tiT#jqH<"4Zq -A\asK\auRVnqaj?AsQ*XL8]_sM*H_W-]';Q;MkPZiMcr63eHiN",Ks1n191\56ESi -KA]H,TK%OJ+9CsTJrhY/Uq$Qm-;2;)K:k,T=>YXq21p7_KEGC8QpJqpjFf5#,SD(" -YY0Yb9T7%e<-V.@cq/n88;-Ti"K4<^fJ*K8d/s(rK2=;(CrHM'1P8dh]l6(9TL(h= -4+ib^"5#k&(cd4n7AK3$X["oKd*mUq/;#?5"-?"UkX^Es=Tq&nKfTiJMYE -"A%cEkX,N(D,6\k/Wf[dkjer:Zl;h\)eAUG\8JFqDpNLoc\2(r"Sp)kqPEcH#?`*D -g?B3.s$u\X-3XEH*/>O;M&fdn*=Mh"TNX9n>Za#LSG6>cYqr95#G#nA39"e(mYW"8G39 -JeJ5/8HmI-Jg`[5W%%m79a$8L";ibC=<@T0,m&$998G6QfItM]2$7MNWZX9R6#i5N -3.o[_[@"S%83Kp5dKF9\1It-^Eik#a:^$8ZKJ5V?GY&&=9W=[6K'4rl#V:S#.Y=T&F9M_V?=Ut"7rOFE34b[3O6Fa";j:SBIe\]0*;bCKCDNf -84Ng@.n\Ujp_e>K?ef -*..C@UMj5m&P*3K=8=,o%=qU^+U,A[6!.>(H.%k7L`LUGYH^@6;(<4lDHO7N\3Z/Z -qgg_(2)m1KL%UP*%?\H[MhThW8GV,,Pnk$a=YQk9T4.`0-tKO'/\uK)#W_7nl/.<^ -J#L9p0kI-6-t]DCLg!Y^Z"9hfV5XbmA;5FBKud'n!XSte6NgLJK:"V$^e^Ac3J6NG -KBQ4>BKh$0+T^4@/,`6G*4jn;]A(c."*+ZAfJWhf49Og4e4j[`f^(]1J@j`5"OaQB -i(O9h98%oI$SXaI=@@dl/V;FpK"rdd?m^J=-3A]JK&STh(cE1d3#7p.^,S:YfK6'7 -3eNF*K9efUBK61!2q9H2`POS<=?(tA;MA4N`*0?tYX^Q]b62iRNgN+iE9[Ph6NaQ$ -LDXh3jmV(7?^ka$k8nXS?#G`Up'2W4#1`KUQ24!Nqqo6&&SVP()f&gYJ!$_Kc`%Hq -aUuS:F5TCNi)(+O@E""+q[nhoi/nl7U1IF@L_:[0&p+'!NY!jm&^\K#Y=4=.m2+_I -hNO'j*gIKEkZqVF)o->.\4Pp487\[5Obh0dL-;!akt.)[NMoR=M&Qie-s\J#?=BT7 -3J=$&0i(@@@0TE!ilI4<&PNKrO9UN0>'-ZOpl4!@Ka'eLKb-QQ?p96_6A1^r"$esO -85Q&E3!8d("Irm(!'5][*Wc$\JoE9H?o!?Re$Ktq*&2"%"/-='Ph!69()@e4s1kT0p -ZGI7164pMr47--0$MZU`DS,:1^G5d[K$Zad+B=*q9naEbKc!PfOJa>u7Pae=/M65q -=ODj_F,&=`k5FfhB_.9FY-"7=k>$0_BsZ]apLf&ghl9YrFEN\M_lc(:[^1&!ASjWN)=kBiPNC[*1@8.Q%))SRO*KuGD -35^h;*LgK;E2Ukm#!"CB#`L.98R[0C0E!)(Jo`"?;*cCd'qs[7_)*L^"d?c$Z#pgI -fhi%]Og,5dT2Lb)(hNu6Cke?L'aTR#EDVLr?t1b&"@,P3.3K,(6!dI"a(c$`R -:5(r.KX`o@kT9k.+cB&5Uit:'HGKABB3E6:7PJgnX($6hikK?tG*dAT"AacPKmu2/\KO -h-Xk"hgP:frcd8.na?m1O>9OkG]K<@'aiF,;CIMX?E%'RX0E5=P"]ds@KC>rqg)"S!( -_)YC":PcZHdKrsHr>Hc$.9Or(kf+Dd!+U$DBF%r_=n%OXJqfP8ME0m7*YOJ;ODG,f -+c2kP-T%*BE'-9s3`_n@"Ro&Y-piQ:+p)iI!sh!m"j@*?0EJ[+;h-.q]Jicn0IbGA -m8,cRiWk*6&-KM."5#f5?pd@Z6'paaKK;GQ?qF!^;*D]nK`S(SO@=fq3.rarMss2h -0KiGR2I"=ubo8/8FhLei\F!=&")U8gW3-Ko]\D5V$MZK2#VLa35D0;#!jF?]#Y]nb -3J2!1KYg$D;ca)o59r@*Mp!c+cq]=OF,uAf?PrLoVpeEXdr+>Wk@\7Z%e+B[!ZS>k -O*l0FB_N%/p$Yd\5=$*U<-]"R#4I^\:UUFMmXpW3Is1q:pCd2o/e"=tpQI$XSU.V$ -oa=l\KjdE-P1odm6jl!Cl#?8gd,Jj8i/CQ1Ad17IflD-T14%=`(.n$r-o-MHi0sq4 -Bni"HW:<*:I@LJVJ1anr[IXurc"42Rn>9DERa,P%fdt^$23Q":[,F^@@n!QJ@BgZn -L.mkqb[[srB`c+Ml@;;I;/-7A&DhFZ'$SEaWM&sW9;PE16&>/r5U7&eV@sPp^gO#W -%0j.a`8knr)3!_LQ731s-JPmSf%>pPFu+AZ[hE^:t6 -80X.Nj6>@SCn$r0LGPXBi,LcJE^sWMh!/u?RL@)td=BGU1`8uA;]0\e?S%Ga"]Fl@ -YYQjAdAUQK_#0-ZUQUIe\ksZ57%fUr1\(PPL-m"_D5S=q`8b[CS?;MVNPjB7G'a]O -k<6]>E&cXuB.J\Cf5I2n8K/#gtsSHhI+F20I\$N\$r -q:,F/n8'*M^]umBpqAF5'a;GcF;B"iB49G9SVLH/&"Ua\gCqKP9N;hH7Ef$R`Poc, -(DfrMD&C9(d[R$$$;'8MqV'.HPMupN36BOrZj+ -3iG$\-cKHVo(&`dpJ -ILkK>okk7uYiIj+"2O7`%HD4H3T>[am=u/20Z#Q(")-OKN2%,f/rO3.UaV)Z=HFgd -@c600&*(b)5nO5;'M4K6b(<6JA-hrpOM5&XT@mQXOA`pQ5joE,4]gMAMQ6RPPf\aF*Eeo[GN,KC040O,L* -_f4s,&B&3qhKQoC"@ErEORuru7Rb70)b.*KE.Q--nTc5mgq>?_no?::)05uOJ7(u) -S@p[N"sgQbcb2I@2H$C9J79Ae7/o-hZc(p88nK60AJjPG<+&N9GDe6oe.I\m,X$@? -PaPN/"%4$HOf2u_7Y.:Hc@17K8k5`JKOU>A$(F^.L.RnKe?gBg<10"SXCrkCC.Ua\ -L66X'K"+>[i\>lg!AYogaH[3c3%9Up+G&V6$0#U(06"Rr_*6SN"! -ltk"5;Q(Oe5\U\d^buF:n@6C"JN2uf7#:@O+Tr@3&4.X5#uN6"Qai=p@XLn,&n3'g -ka2uL4a&IIn/d4\C^jgo4#'"e*m>m+%OOG%#;G3Z"4IH0bV2/u:uiOI3,B&?W&07E -`#++$=pgs*0!15n*CGX#%OPFELf8CA"IPAcJilAU!=U/?(jupH(da"oZoc:se7j\/ -l5aBb-02[9C573+ShnN7cUmFcXc]eF#/]#h+n-JLOfG+pe:C1ri%FG^0V\%jX'9,Fp(!;GcDCsY%P=Q!3,c"SF23F]b8*M`UV+3S1 -&u2=Go7bF71n$)R48B`2&7CFDFIuIh^e04lH;@]/lin-f)(AkH%"X;.P*03KF29b1 -7.gIJ3eC.l-AG@96:;$+&K2lgrf#hXpVp%H(Ll4GMjJ67#!i\sUF9e?d?ZNO#gIUT -\r$q_O=peLb8>j02@Ru`-Glub%)NuNLf"^/U%k/kU%BghJIX!E!+$'Wr'Q;a=qSU' -4pZ^1-3TF!(./XE%0<[e"i.DZ_[06N@Al& -_glk=n\3Z%HW+]sN;L"5S2\IOh]-[TDiMT?2TG:5*(R/3+"9p.c^E*!K7n/J&]Qh$ -8geNi``We.&eTkp;dt3GF5%='M=d%P*=8>?%WjbblL-,VH;EUZ -KY4<(6QR*R;p%([%+1gC`doO5%\:]e`5,%M.*>D_>\+KJQ:V9odMcUjIuGP81eBsT -(a=JjK^cKfNPLRX_GF&8_$CprY`'2\lnJ^l'HTXZSd>Dh*Wto(8_AZ9,0>Xp?_RZ[#U*S6#=.;ej.pT7$^`na\_!(43N4#lV(>+/ -ef/+Jm9RX(GHV2.4u[:sN^O%&#>OSNf=Z2a-O"ndXMDREd0O*[p>[Hn*5?1#apYbT -JR&]<_5^]C,IFJ3Gd\9,3'l$>/29(r5ep)6Q]g?e6D'GG,bF8p'8t7iq?AMUSeuV% --HDjPL,USUe=f4hH5V^,.4$-i.$KW6Xu8bbef&;DV@3Ag0*V3?(W-\@3p`)$*ZCfr -<.bmE@AHH6.#82G5Vn3^'I(J*305>G;@((b*CM$$%7+qjC]NrJJf$WU5kHE,fK'fN --tgl"U(ERYar9sjD"3(IM$Hs-*eX=-[mC?blWWVS7!On.pL1%jU5$(MM+%+YI/,HOd*4 -4bs[]?UTF8'>enpLn`$9KDf`>Jf$\+i<1uldJXs#P\prbJpORWbM@NLmLBVV3=m%i -)l%4cmlQ]h`$T9eo"4;_*!*ttiRf/B@,S0hi'YLLLAGeBdQe9T61,N&XrQE]Q -lMe!'-5+-=&YU&j-?@QY/.t5m&n)ue;+M86r/1X]p;$fm5km>&GS>Wt'4Ddk%+Gp+ -.M;r#ec>9HJDc,hj:2PienWco!=f`N1_W/-'J.B>j+)mc#S3[9%e$D._$1O'cl>?] -*+Qc'Dq__=W;Z,5\Zb5/CQADsaL]3n4YQdS/%YdX#!YDr*,k0`$d]o&c9!i,g^Bn!fGC7-b475?bgUeX>]6?#F];Xd(pWMp$%)SumqRugqmUl6)r -Y+3]ejM\'B:hIU!DGJ$%=l_6!4E/@?3d-\#XFJ_,@Cq6["X%]%,eu1J@H"` --k3L4%%tfR@,SAAnu70[M.:N>joc7TACChd0BN6I&QTP'/r$,$e,^h#K)-'refCQJ -_#\g,ljQGu<5D#Oj"-KN,+bUWnYdWj&9#**0uXA&s$FU1m(,6^b: -K`#u@R\>b/)">D70V0Q,(a5_@),Q\;m&k^;&q6Zd)hI+qP9(X`;]!C>9DZC(S2V=LF"sDibIZPRbS`.drohLfucZ -YRr$.Y@01"cWZ0jE"J]?r.+3K/Dq#sUC0BE)Zd5`oB+i'WBSF$57Q7+k-%$YZ!>2: -6?ELinc_:rhEN1!s+.NrK?-8cc>Tp*Q:(scp'sBCej+=3,4HHp-NPH63ke!E7-%!/ -,W6[=HK0[:71M+BEb9Cp#ZE"#j-#6&Jd+_eC.ZW%_^Wl("P?CA2$WJK-k_-MiH?%C -d!=]Z,dNN(l/YW>QDG/@SSALU&uOn>'b2CSalN4BG*jGi*Z;p59?a3SEkZoI-V6gI -,GBo0['1C@QkmL:#[jeIJNOOR)C##lo\c -@&=6\Q75)=%:^4b!7p\5\6<_B%-"Y$UEGHQ!*G@S&HN#>jjk$hh@[/4S1BOOctebTa+]#-4`gg&'o9$:R([9/@3Mb.Y-H<:GEiAMPoDg -'323>C?-rI#S02qq(In?i?TB$X;_2a)hXn,("F@Hm^Y(@?3A4j_63%_X'X-Qh\GcE -bKh3F\G`]6+p8JY9A/@28(NbJ%"E`[W]Q86p-E5(VE`bkF9eB%&S?+R/2Jku6p(s$:Tg`7#XB6:AJI4/p -BZ^nnkFA4uP3GlJ#`#X2`CNs>)Bp_])Qoau+fNI;Yj8+9,pA$q#FZ;kZ3d2V'VRW# -i;OC@-kq4j'@21B_+YQ:/e0[%1>nf0?uu_UFpL?T#[iStTW"l`U'j6)%;$Fe@+pSB -8dbX1$kEtTi6sLgW:m6=2^'2a@1j.a9iUjJ&j[k!e[Ela(=Q!VW"G@qUAPXF9O61@ -&Rs0",9SK:g+)%3fsbk(`Pc"HmP1Il%H]&Kj,0srg(=?.L_['*i?+.2GutTW&9jKQ -!:Ug\!$'sf)o9jKF6NT8kdd%ire%?nQbFFU_E&p[*4>582pOU(l'X&\3j&g.1b.Eb -jHId7!O)*Dp)?A",=@gq6fH`eV[aaB#&[HujTdV5el##SEYek';TofGg$hMmF;Mm# -T"$VJ$jiLX7g@8IShaG],g=0eY33ia8+LD=B;6juO;XaR7u@FFLX@UDSEFG890u2[ -.LPAV@>72\:t2aaZB,qIQ;E.#$eTNTAJ5OsWZ%S5Hm,S^h?mOM?uPHAHJ,Qi7U.\4q.s] -$=L"EZQt2H`!g&+%M:gX+V*o@'(-ng&P3HcJKtl0a#l!4eJ"6\q'C/F"?39I<8f#6 -R/R_,4;6[%&M7#oT^iSH]T*L:A&.&Ijs77M,S"<(.cBG""jIiqJN5B:O?l!APio8DBA+)Zs88QJa -Hc,hF[KU&l"Q3L`]!q>67d#7+)S`8:,Si&FqnWHSHuk5l_/(Kk"F%NcbXdaV_^-l= -nk6[-#^k>8@sSngS*kHTb=;=O#KP7fNj-FHLM3LYTXmI>6'0)G=,%Vc:rhiFYg]F8 -8#TS7.UPH@2HEst'k>2mYp'KZ3%Sl&fi?/eb4qo`a'>ZdF+\3<@!"<86 -#f)#t!-/Hgt<&]4>1pHPkKV@q-;&cBj$1MROg-kap!YsC\i!?X6hdlcRYZ^CBjlj[QHWb -*#jO-Tt'!Z/8Jb`D#9QH`kXUnb!7tX\g/N3]jR.1YIb#-@Cru-1,q^c6(Ihg]E)i; -"C@MTCY._m]LOck74k+/6(cNDSI??,0ZUn?bsqI;$uT0AB4afIq$?g>kK33g6'<&c -FQVDl`j27`-=@S"NnidXBWC='U3+f*7HWZ'k0 -;B\R>i1^Xr*+/#Lpe(<5n[oOo5SQLP&Ko@)^i0Q%O9a][#=*4f+Gn.sU'a/a$H"oY -5j):&*"Dts$imR@JA_"c/U\$A03_Bf8ZpB!&$;4Q`Yu-m/i#t&%kT&?!5hHVk_A^7t\A>_amEsAE`R?'>dsHSnd_m(F6>ZYm*k@29I8E+;ni>[R[Y*S) -A.H;DA(EeU],1"gSSN_UpXbs^7(n%i7"@`uTQ2KQ(I1i.7,h_#/)eq[+ -l'?ao773mlo;4:H%K\'$65<.EV8Hb')^1X_m/diM2A3V4(390`5ru5'\)L1e%Y0]I -"eZ)cAd6Wo#T1bl63'e2(!?c4l(HsT3h9"n,GDWi=Y1EtV=O_D`b.0!:8`a0#n2\Z -U/>UbJk[eY7A5hLoVtn:NKKuJ8;(G<,*GPE&nrfc:3Mdj,1-\G@RW>O9r1a%1l=!t -K0UN>W"]:5rdLskWb96"I/&+SenfJtWW`NYQ6O_5,`4SnJNk7'-aY',%"U>`?&f^? -Q,_^!\"":?2BNNf_mlqR2aa"KfkWJ":"KK$`8SsQS6=Y=M8nRrB_4>k/"+GFEk0uN -=!O!Sk&]nEmZ"[4EOjnCSM$70rR\mEE-Js$2]mCaiU;"$[q@q!d<9K"Nn8?ch:_0W -QKs7Qm-:pip$2@%^[V1#CLt*AGeIGY^L'3VJGh]NTmZu-YT\Q# -4tnM(pQu.!*ab9]+bjC@`ZuW76P,B:#oQ30MHlLF$nu+Wd$]VsR"d>WA=7%4P[p0d -6&up$jtVa&`:9pPA&_C)3K#OAB9or?QtnM@@J_aZ:pN#RKeV; -P^s2daK@-( -j+,uH%S02/2%)alYUk]b!6?r)j'k!/&4AQK6]f5I8k5^G.1Sk2`47?e&IGjC7$492 -(.]i')&l]-`2OtZP%;*g;3Rfd/=;O;!;`r3/%GeiONAXQ64cNk!^VpD0`J,R"9kE0 -&;2?!7$0l7(.=7!nG#6Z"3&,7&>gVjcs;SD#fU+/P8J6nb_%0W)eSWSbHhWK2h,,8 -)9C8`bsPI]*4T#`fX@p=+,DiCA")L"DFQ8<\+nN3M7>1(5'>mUA$5427DX"M^$m1k -?l.-&f_-+Vr##Q"O/';a4n"=*nA"d*G[7VaK7e+E;@RlQ^IilVk.?Ur-]S;e4Z[']iaI0o7(sKHLMN^igh+!\g&h -$6lST/.7(ahDUArN=\13UN""$MZUDq08sB`au'XgR-m,!(6K0,OCUWk6mackBLn9n -JjQ1D,]OMfOt#\S64maR-qtANkr6]sUq&Ta'1AfJ6]crip,rr0`J?_Q`*"?Y>@'<* -7Zl8`L(L'gBS_HE+Nm+!&E4F:#RB9f6bmXP+lG27_;%!Sd+a0TCi57&_RrA9++t2[ -&InEs]o7cu)^Yu3(de/4%*T_3#'eM!2@=/#+eTgp4P-%^7VnHN5I4H#>*;Aisi@`JM*M[!#')T-N(MSV+p<;;goO'G9k\'?@.5bf$& -J57MS==ckmFph^u+9[4P%`.'h#VMo!"YcrB82+WbTsQe7&E"Q2d!6+0W%nO^#T!cN -@18j36jI;E+N-@`>G)QuhIS\]g5>8n='EWeaMZH3i"(4b,Td1rei-Grd&53F>/1Lg"Xqegp?4=ZT6n"/`YlhLV -%3^#Q"d$/._WYGR6+Aq;i<)@]fk_5]d:B9)+Zn9=LCmJ3RL&"A:^PqW/clGGLQL^? -6fGip!_QuWZK^:r4[*iAS`S?Hq7:CIso@#M<-6:3gCl7=eK6]?(*dE4F`D+J*c -7Nb)ILrHC.?\qd!kDms@3Xr2uMJSQFB!^3:Ktt/\#GmqGPMe,t4Gg<+?'_-,H?gCX ->`Hu@1(36<+^.ercF+'42$?B&R:BQ<,8I1JVQ);/_$kK]^4U8rf+9UZ3TgAlMPE?b,6h#@OMekP=`AN;t0j,%h&35M2 -pHh7:Hm+'6:(EE+0ujR`*+O52AB];5@.$2!'\L6hiQaB:Ygj[>'-=?p5M'pm7*.;) -U+jJp;b[k.@IX'Kk%JfLc0GZo7er.+XML7gPuKbDD_AuPfZXj^0Gbc8^n03"dKRFu -7fqmY$eXX74E9l;)?fk)I1%*s\d4@C0aEY#$"?_SP&&<>VBGDZ0bJBDe!bQ^20g*s -OZF>A/ZM?"[aL-InkIZCQeb30pl*3J/P/LSAW5T61)ih;8cp2EMns'W"Y5lQ!dpi1 -igM0Hcdrh7&5`cLGU\>8`YF*,b,F4+len.*t59@Z:a-;3ojt*^Nkb1&_;t$\Xm@"Lt-. -=oJP#5_IL<2g@Cd_M,4=X.O]m(8.`2gQVf]4G2ia(@lO";/I$256J,Q-Sl#8iF2oi -5m,eM"3_b$-ohDY?&aD`#;C+Ok\_NtV$slZ\p8NLWgf\aEK+J/3l-%`q1-'JYG%_r -3uHU3.jU+$[Z/bD#>;K7Yi<9FF1[Ok];hpLC8nN'O!8'dLMT,ki-)`u^DW.%NuUF' -'"J1U?'(FY"diMp_"j%9r?H+")Bp]=,=7HL7M&5;1buq08G@iHcl/=POK1a')&NPs -e<.r)[0k'iGmD$@ftF07XQiMCbLX@@-4tmf#&%WRBtQ#gAs&Qi,mmM'lfP?(;Ef>% -"P?=#plgB!o)uQs"OKsK+Ar@^@YH40"[H"?E)q[;Oc0RK41% -MhF&Z"JAGA\>K^EK`jq6"7)M1YWT.8BFDXO\B4T#'Ek%SKK!R+K:k=B1`6Fh7NPr) -KF3eK:d6rZOFuM)PgD^p5d(:*3<]+hL3RPi^r@O#IOXd&To"9)$nDPWEX+REL?kmp -dLHK_IR.!:tZlDWTOeP6s9:DiQZmhk/Z)YIi'H2N&%g5\8S'`.33#]rm -770k4gX`bOfJPt'2,Uire69hr[$$P#P#3&RbMp47+pM;G#&n(+kZW[Z#/E7Z7d9Lel$lCUPb^2Rlb@GZb1u5_>@@Jdo\3J6W$$E6b@8SscP%YQiT"Z5]-e4,0I.,_Y^LYgbD/5 -fZO=6b7ldmX0mpt3m0M6]8@cLPdRO([gniN98'gmfQYd:08Fqd)3[9&q!g.]^oJ=@ -R6i]''?Uk[_O;`@O?tRgj$k69bVX#J1q6kPqpN]i;%SgtL'5_T'[=TrcUDVIOqA?H -'$ZPI-BWgh]unYi_6T2\d1M;p7G)1+43e#9k7uoRKhtg(F]*oq;?Y?<"G-IjQqde2 -9E`F4"VP&[W)3^E;$B3b"`RUuBLd[4)3a8.JcHqqBIe\iGHYC-!uuRgBK(R"3OaYE -KI)%)(=M.2&E^e"[EVZ`Y`KT-&3 -N0tI79nZ+!">E<1#Y0PG!/)2o$H!N;+?]hB4r5&%QNE-^\RC./pSdtMKF3\tEH;5] -70Ju`"peE:i+&T3AVPGE#0:Zj\dsb4X/YY)fi=:[ned`jE!K;m&\@YYYm<] -6R="i4>[MkZ;Q(V91:='<@]Q;4As:YdbQNS"Y\&n0uS('9??fE3:nE&6,[K+1qbis -K?5>_7G?ck1hd4+$*MbT`u8o+]fe_?"[kK_71ldk>nHF_N -"R%iI8/_Ne+bD*h!jF:(i/*'XJ&dY)"/n54X-(ao41X!'K1I^!!%jbg/HZUCSWfF# -\`5*b4p0HK2u7XJ4U%K%a,4_Z'l!!!;N2dN7R4Qr$-5W`cpJ2_BS7O;^e%te0KfdX -JtQ7]0S$\@j-RUj'W>+u".TGr-sB(DNs5#]/("ua87mU4,$hY[C*&+u>SPhh]6T_['Cc0oT2c>l"=s]qI3it1a/L"aY6eo5i -q"^[*1#[LH6kQ4OC:HBI8h7Np>3eHb,=Ir!99;J,OLd!39@2/hX+h8@7Kp4olVUVS -fY0'JUT#!A\\1/B)Op$<,Vrd?9%#">@tkP%9s@P"#Z-4$c37TW"b9_ZLf`AV;]e\H -S;9jlpe\]ZB=9BhC7V-g4?O3pQpc^q#[(6!GMQj-f9:3NrilO4U"&LfVn5BNNBG&G5 -9L?6G^gs+N-UMPV#4?Ko-?7s7c(Q94#9[r>d)jt1,n1%c6N\^Yl5eg,YhAO$=p)4l -!8(]n\`"[l;S_SV4f(Ng,%4H^/'G\q7MsSm1=MUt1X\-;lcTi=8Qt+)R<>GQUZKFK -*>">QRV!b_$rIrLA-RA3@UmtuFgp@]'1I'o<-h<9%7t$EABd3rc&1&+VOkLJNs5;_ -Kkol%REYn[=6'3seL4LQJ5Cp_9ZE/gaItQCV-=*\>m6U!@piFCTNQuW5mu"D*$'cq=M/7YEJ&KO&kqi0D[I63KP< -Le7Dp`1<3IR>TLbhCX@cTK%Q@3<\PQ/U1J'N51PHjU^%IL1QIXb,,D%Ep#&rN7&=J -Q?DA(CPLsXd?]%p(4%.,$puTmB?8ijh'cGJJ7o5K%]4hk/%k(0K+=&!mnd;j)".tk -34'f6&%GpLau!&T>D94&@Ba&VjZQB1#0+A?f:XLAA^nHe%9AVHd^ -[)J(;"B`@B)k)jtXQX0Vb"&Qo--[S^/@/>cTd.P5P`Lo158md[qeH@7h1^$L"_S_C -V\t1B:B]N8n\N@#7QThE<%jA3;LF7N'"^&b?3o5'/WkZ7r*4ej_C -dka:X7N)j\F0n6,;kJ0U-B06_">k%A7<\p:[g&pD>spbJ&\>eu)G'AXcm2BrnENF$ -W_UOWdRFPP^,"36!+H,q>_SJ."\;RG08bI%Mq'+O`p\k2i)CA?:`Qb4A%*M5%]f.. -CL%.I"c-97?rI5b>(nq(K!r";YU]d*K+nkMCZOmc:cJQELJ[b-Ys:Q$^c2Ee0S849 -!rt!+n"c2>8:uDjepR"?_:l`N<%)Q"";,>j=$ga.e-V>(f83=r_LD]u:k^;q5gW#e -BLPC88qbkW"HZ"eETSti"PB,SQ8).VSIa@>CP0cF_$E"&J3a>]?rK&_>:H;qS4eSJ -@jO*JN27I%?uAT9I`f5=dBoi-W,7Ki)YL8p%,Y;^k3M3>?M3Jgp&haH+(C4sf_.]o -R,oiAB4dlGm.Ro&G*mC^W-/DIC_%DYL"Q!X86Z7b>q6;;Q -56)6\!dA[l&.e/he4gjJH#Qi2"t+b:H'IP'CrG(,Ud#Id&k$sOe!pbA^%[4TJklt4 -@"m6:"_^k)XCMJgQ\FZCEO7sZ?Jnp*DA:l&(3)%_cr+V9HoFep"=8>MEJ<8)ISTT?)e -C*_'3(me!omjY&q/JaGW)E*X9VnV1Hgc/X1W -Qt?AD>dbs6\:fWdWEX>LiW&6k;'r/aMR^bC0A"`$KR72N37l -N%p8@NJ]J"j%.f]%HF"PY)WUWmQRu$kkm]-6obTA15raZ\?]Xb*_@"J\fah6AP#j" -'d[!R8s+d`2Gb'?fe,fNKLm(O&W:?#5*//u$pbF-+V[A,U[lL2%V(=W4'D_gdQj'P -l"F<[mG(Ul74kid>aD4L7U-aA%(9]8#1:A1S&XEqDO^q,[VM@F!R,[,#8+=X)m3\^ -m[Oedd-s/Y1!-L[0/M>WlrtOPpqLb5rc:>O>RLYMH[HZQ6-uLn$,OtPd1.0NHpJ@_ -E@GlAQ\G6c@i-r(!aQV*.rs@1;,i`+8^[`q-:kF)OX!GFPbZOGmDP278t"bL36Un% -a"j'1,h#-+Z4BMcc1@1Q2GV`>i*oE%h!70uZrrc.)9-rpA!nZL(h&bb_.$JDAN"N('OJmj0aL2b]_6Z?mIiR*dn -6H1&i,17"]'L@ODi#m\$N"Q15('p$<,KmTeI"Iki.3VM<79H/p_I-,r!DY'Hn<>N! -"@.dJ(a?m`K.*H&5_nk,AAhT)MBVm]LOeGd$1MX;U"i>)6"DRdg,g*_aBb8;B$CMC -],'DU>-d+9O.9%`)1u&T%AC9k7k!C:ULHCsU"DCr&D.mk0]NWiXOi4H>!6_G7NT"T -fjpjhD!1TjT4@)8>A>$n&q'tWp?O-R1nI'*E^:jgeDHB$77YFTh'/*4*6$]Q(MTgfukcS6fG;eRr)Fg(8.4-!jP\qdu\!Rg$/NRN>R$/_+Fc!(Y%!Q*ESX@9` -%b+t"FRnjjWdIU;/p'42L,;A-b8DN9?Ah*O.FgDW$__K'KnuZ>5n"h>+P7Jt0PV%i>VLmt -`_T2&c6u>]5R5[2B#ArH$\<+Hd[17C6OWmh_3?e^#"BQs+E\11goZ?.n/gSFJe6.: -6PhHe+@I5G&L'>-YJEOT"cMsdU^0kTnNJ?(oApZQFA"9#Q6M^7:8U>L5=30q'<-e4 -%Um.3_9h6]K92636M+N@0lSa6g*JVb*Pf\(*,CQ(^c"q9i(`1/FsGr+*$]]K%X-nn -`rO^0,CW&%TtiVu'r>\YSk-9lh'ETVXgP(>qFPkZ-BF[e*AWpVap-rUV&ON@[et7X -ER6beB^Qn9Y#ZKC5iWIJ2A[SJD'\Xc)%n\u70rm',ZcVE*4qTMWFg#'X2L'2F.l5? -7VO1UW9TLI_46,l@_3Fs0dcM(:@j0$c9'sR-SWV<8_H;+;3qpLJf]T$XK\GK=j%T_i(\3qYi=L-$TGXKO\)Wo8GM$iJY"^< -Yh9tjHuP*%h]ITWd?-1@j6DB"XQ4G-OtoY[[Td!c>6V5rLhX6)>A\70bAWV'ot$g` -Q*Q01l5cY4GE1Y8Eaqa'8-p8E7WEl2UMOd*mP;Z9F'`:5grrVN'/+[1j9N0mnl^D?sa<'KhTK@Kl8 -TK#8cMVKI,puWC0U3o`D$5,`17NW?>KN,05Co>6S\e]mj=fDF2/Eafq$NVq4#2l-k -K7IhJiL;5"OPUt0O[BY1i&ZXfKH10!Et+hP,F(4i)sK@C$pfCrKttD>TJ\#FjSHL\ -0^;cXra-52+@h8E1D0f_E@kW^7L7s$-%qARU%$l9$8FFa9V@:1,#C_5W)K>+r(o1X -hkUJ7bSc%>L^aBt71,f58]>T27&]&"7gS&IT(*2\Df8@i[iR.ji4p0s'P37nMK[#G -h]"p^BatfjGr:SVp>4P-g5-\^UoqO[MFF/(<>Y!5u\RB:jTr_ -(.d@!+^,U,=;4%`'B)IqU+!h]?kk'I(%,[\cmUcl]JmZI's:jQ!0R]ijpM1-.\P!5 -BJpcH6GloJM%So1_Lr7&&AOq5o:-JnIMkT -0l!R:5k#9!g'f+7#CteD5nFd)GbX/+j+DZ^KVG^4Eq=*@T.0aS6"C_H;A?rB'nKm2 -_fW,6Jf/7k*21Fm6*qW*_AY_/4%i++k)QgD^)P(j*(/BQaX31UJj0Pg[O0jJD14cf -L2FjEPfDdoX*?r3gDW_FfhnP_Z)8NOY*m3tqe90"&%kdL3>1CRF9HhI0?X47P5=F- -rT@R19>MXPi,oRkZ7kJ[7nDHh\opJF9#S/4iJLHL'H$B.huSX0bQd%B@O$Fp%'V@u#oFEnsOX;4?*[F7g('.MP![KGg8Hd?*']iZ>5u^n*j;*Ao2iTZ56$O/; -3Y5]7$]q"i^sEN5dLAOCb-H1"^uc-boVjCO&)dL!i9UpredSC:>N!p<`KKb!`p3ec -$in!M"hY9UQjo4!%773,i9V!>RLrBE%u@"l+RgqU%h6>\&HNNfi@#?_-5(nQc=&QT -@3UF3=C)"*%oUO\kY)O#N"=kGK>?CS6CJDC'GI`F(+!uI&1D.$6oIG,7,qJr$2W[[ -@\9Y'H]U9(c=e!0KGgJr*21:ik+HsRVNEH?(Ep_Z%qIf-Ib-<-[?68/B&OTqLD\?u -).XG!lY]#YYX3?*fl=*2Og,gE[2Yo\q_>`R;8>'T#%iO7RHGk:$aM\oSi2e07rdNZ -:"Dqc]`'9Y*i/6_6;_1KAB]-+'F#2fF(@(r9!DX;9r!Zu? -`s'20^toNnetgV1%RBCn$B,K]!/2R$-r,-uDRb2EFG%Bg%BOT#`O)HqHjl[o8;4f+ -@X8OboRVfr?,6qZm/R]rA2/W\&ci[WcMWMb.MEHQ'>ZdD_&s>`&M/J1cshU0!;J;q -W.Y5@%3Wq)!6Pir5ltjD7)ti"A5I:70!M-E164@="`G\s>\:?5)\llTVdD%nTL(SRQBUW+5rTP?ro;QE;FYAH0"a\t+l2IkcG -:P1Ru4]Cm3<&I'X`!G&4hAu^WqMU;"%@nDj*B;B4*Kuah"Dg.o#_NbQ=/Z#K7PilLnG@=+qXhc&)t_[_"\I,"C5Ep -$t-LOJC"__j:NP!'nL<@+_k&r9V8LR23u-8XX]>C1,\MWo274g1E^]!BV*%f)*t>D -@D3XgVAm%C(Mc<7A&QrN_&)7EMjV,7Pr?$iM]"70[Z?,$>pnrCoD\ug#^_Y>,fk"Q -@SRXf*s48`'BT1=iD(,/3C;hM6Sp^4DIOC?M$;)e"^(2@G%KPfgKrHIk*"O1p -%Es92A`=:+3eh&T0nd75 -HO<^)AO)2Z;f#*n#GMr!7)OU3S5;]$iE;1\\aU`)%4e1_\g]S<1)e^t]DB -kn1n&7FirAY6khl!Y<:F8!M^Vd[t'5\dbmORNTjGP*^^Sb]u.@+;A0nd]]` -9`Y/KY*9IfpF%l?0P[R<+SlS`p0L#jaF^oMA^h8>ZjjgiU#=]meDJL/?E"tI56jEG= -c9TD7493iuFBo;a=-RFAJ>R`IE+^mN6)3ql(^Q#Sn>b]J+I -h[enPcg7-@o,iX=7tHkJ"PE:]<"n4G'?Ag-ao^RXkqa(+?b&m:1^A9"#f9*:b*rH5 -;`*NiSO((YI3ho.WU6"l\QnW4^8n,N6"W#&\eSWu9sBtUU9oiHW%1hP-nPL(DN?Kq -Th'!AK18ZG^u'WgI=T,QJ3nCf_O_/o5RX6hlTi!0i6s(lW"1MJ%^LWP\)r@g#u$5: -.mWk]_#W\I!"KY<.u:hHTY:f,i"88$)*sC%8B;R?H@(3ZN+$`AQ2Ik.q+kW'E'2+8 -a1PIh]J\1oHf8D-TjriY;kjAL)Io?XI@esWAMp7!_%1t16e0#?`'I=C_C7N`X&6aW -Ku89ng&^0M[jS2cdi1Yjg\3Olk;YB%buY:?Ne\ZG)$O(ikq[\ZNF@'*4EsJ:esMoX -`VjiJJIL$'gX_kJNI3I'[qXN_U\kM -0Nt4J1r5+\TV;k6_,qF=5bb7XQm5_]%O`U^3#'Y,>TuU^E[a7`<^dHEYbPcH<$2a& -dL6"D$,r>\lA,q-m@(&:%j:k*5ngkb9F[/f$fJB".W>cg[juk!.S=_/5fqArQYeZ/k:c"OLfX4=5hC;"#Z=N)%k -"_t/H-'Lo$1*p,,'X:^iQ0T`rfkRls/>Ysm17:P-<@]I)jb1K2'9Fd]bB:thE4B:0 -([LbReQ/J=*Xnp`Z-;3NY8rY$6_02$GL"SuIDFl_\/VS(fC/@nEZC.Hq#*D&r!NTk -k<'AuSBt]gE?&U7b&\Qc6.62^-U\aT*>%9n%RP-1.gs:7\^_?]nMC)_^i56(&tMk0 -eoi(3>\b9Jn\KJk7rdU3?,u'[I-DHMS:'9F-2`F$\:r^o?Pi8.FQ,8X'Sd^M/t@D@ -(e+k+-^X+G__EVr'Su"qdfG&/9lfKK@2Pk-P[;EX.???RVBkar:F^XA@Et`AP[P=r -0h>+S7-RC1V.p'^LEf@\.#TBC@9T?QahrF,dra\0Tp:-a*'"IN5NTXgiV"&9o=>U3:J6aLgl_u%n'n! -rC9ap(hO2>F,MU -<`>6Z.83X(j]+QH+oV7G=e^dIQb:I@a_4]h`L0%[Ne;A`4:T29gcLTc0`X=sg3g@4T059b.=K-N_4i -$`&Z&)q-VZnMVa_j\!U^UGs$`h;LJm:b'Go\elY?C(8"r36&j))oI@:%T\gD)L:on -m6q)`aPbMcap]9W>nE]?4G&\'BTI#@\$fnqf1.Rp67>R:a77T:LMLC9LmW?Vq&ha< -Z\(coOd%/fGi+5?85,up?)8>GP?_!\E^r^;V"D=Z"n>BQM1AtB(D>_+$`%iXER(H_ -PZ4%6`$t,Be@KXa157k3(4rnm$6_S]79dG?Np'Oo"[GRL/%0W(kukYsCo>sngPY95 ->")Dpbltr7(.,"c$?]B!"^*L*A3i[6@Q5n_X5Z0lm5DOAHnEIUX:qeq^E*0'SC^j%]b:fV!(kVR6$mlrN#2nP_"Tol/:)I>s -;203^q^[Nl0O,30@!WKT5Y=U=VUbOX'I"5k-B-$'.?YID7>SDhWOQJu;8>,Q=PXpk -OE6FQdQ!\7i>`H82P;t(J0U"lNbD0K+I9msU^Vg8_l.^dgD5NS)d5X#\jT)fmYR(- -Ocg>O^=C/hhi]gcE"4Y*SReIZgdRqs;QWk]B\l^9S>q>$5]9^RM>RU^f -R`^H(:MK0+$t4`?KnuW?_IQLN+\+SI=K*#gFHVd7JNO5-Z$5l:m#-Tb/KPn^REkqQ -P`pqOWp$r.,,+=[Ti*>\8L5Ws_+ME"@'/fo3cZiH>`2O,.`B,QU@d$4LM-#rK@#,Z -X(4E/Ym)?.pjiu1#WgJ*/fOmAFpl;h/VVY!(?'ggJd(->"ouX\WDTu3+l#59l6IH= -d`I,iHb.pqEh"i:jc/p8V -`lK?Q>kk1Z'Irffip#\A4eYa1+7>0r?+1K -PK?^(gC%WZD6dpoBs1T297#cU:r,26i*QmUENXH+^_UK\:C49].)dU5\qE7ZX!0SU -8CcE=`,XlN6BHH`#q7+2=)0pn_3C,26=]$-=,Md;7R^#9-4]g04lR;Hc@NfQ)N+[LcI"ok%Oq%I1S^:4,759++t2XhkBXmLXOINK?/0E`U#>s(`>h1\[Pso -[/rV:Q&1minnNADE3MIiQ6qMe@5C?F],?63DiLHr -dtZFp5>eSuT_egtA(H%RRHXp`\FF&c&i,R9aV1A+&DOgtE04g5FX&Wr41($0ZeAj1 -.uEJ/Ustno#u)mk))j$k-)tN[>"pr&B;_l]ZPZaUe`tZ:kr"F0eq3Ho\;rqV[;`Jf -igi"f^1WZ\[\SbK\K9D]+ -JC6FP2OCAS!n]&_&AP1-2?Xjp2],Si#[%[/V$77RNgT#eZ+W)HS-W5m.dGB7fp>"j -0,]n@Pi.W;fNF5eBa&aHLl'slY[iKup(3>`UIbHlU;!tF]H^(ZOOH?2Wp>&L,D\S%f21G)($\LO6kEGp3`u+Gm,%_4`3e!?d*n:,JG4')GN> ->1Sic`[*`3,#Zr;TeR4#c3ejc0TnfPXrq*UnlQ("<.tTOK[R -N_kV2*'U3H8"CeO&dVo031#=Y8HZIX"/;:n(cd5i5p*rCQ=)u]484Bs4TiOtKB.,> -\2f1\eUp2^+G#-[+nJ -7>Qd(W*KRgKaLabKkOWo#\Sn5DMI(d&%MHIJ8gR-Z4J/YX;M#-=U#E//eA+G)RDWF -$*tSHX%KoA1kJ6))7)[t^dF5&9$5bk_o]"ed"X!0*"5(OZcXIh^El0$6os&(0f0M/ -b**c=X`V1pF@mG@.\+<=4R:"a.G,t<;jDo'VL_B/;,/Kt;M@s(RBYb4nnAFZMN2@Q -$:,uUn6I4EQFDD+`W0;#=BDsKN@pl[#r17rEd=JqB.`Cr&c>BW#`FB263CY-3*R/s -Jr(TGKs748"8G'ZMZk3l5D/Gh"3Zj[Lc,X6^PiJL!l-?P9EP@+bSXfOK-3"'BK)S< -22rNE.E(Z"l2qJ.!m"c`5mT%l(c)7"/qZ,K"LpgPOALXOZ\=KF%nSHC8>aK8>U!ic -#n!bf`0"Y)MFle -%&F1L&.jeub&!l7l)Mmq\Iiqb;2H8LI'&O41n*Dn,P+Ef]1EaqV35Sm[(=fm!+Q3f --kXhab?5lKZ,3+GfVI5"/ZHf2P#o<5=%iB8P,u?nTW!SOT-?k@7,VFDKBNIE:k]aY --@gdsRGBYE`\-7qVKdqUX(O@ah35"1W*$$boW[R#hr82(lM -"RoFu"T0Is`"L:#8S]_?YaH"oHHAk`ciN-`9!PEO=p_H;)$-*B@pZ=Z=U"S6O,3Z` -i;,MZ^a"6'1P)rr;$P0k'I0p%/;^`2Q%DAD85Zc6OWglroc;2rlS@aFR/0Ji0OTVp -A#bp]:aID"gIn?AO@Ef"bE9gk9p)?MOh>.!;UX?sGqW9uAeR.2]]`c2G[CWlDhT-; -Kb.1=gN/4.:Hl0H4iiY]?(ZrMlSgMYcp_rKg//NNVDY#O$*[R9dH;dfcCTQW$2E?t -c(L;YH.a(`$A)"d46K!'r.Wd&"DdeA]97fF4\dt#QC's.1&i?l!68#fM[Y7H$B,bY -1lLSC!q=>6cmo0r.KYteeZ8c[&U+[]H)WbZ39q[ppqD@t0EU#3N67=):b%)G7tgY/ -"@u)epf0nDG[!:p$=T6\K>\6gWRgXi\h2T(j`-/N0"QFA%dW-+&WmB%>!scn0j*3Ea]t -"<^2;kZ%qNkW[\i.cge=Z>n+PRa94[h4<4d];Rc1QsJ(#51,OLR#N1I:rO8SL+m7p -i<>FLfL!YjJ#Z_)T5`J#g$N$$>YW\;A#_X$[:.b?;M?'W;\6EXN+=-QEnAbrf -c'J`a!iuPB>7a&=^D?f%iqUHMnAeP>JrI2j!lusG"^H[F0nQne"9NWI-ockc9SHlM -M7%2-1cl3[;b7]g'tuqr>TH,XRMcZoj>5c=bfR;GBp@8+]#iS.#Z:hf?Nu%!/&6%W -c:h(\V%@u:fCi%tSJNO5;@lT%=1*nG+)54,90BS`AW3JsM%Io`N*^QCpMlJ3IEr4c;9_"3R&\^cLo$KrM::"$ZBl7PBB4 -Tjp!BillfnJARX^$(,\R.-Sj+a=U0&_[L>^"'A$H14Fk1T*922Y7s+&fj8DJ;^WSM -,-Id-CJ\bjmG5M3SeTD)YZRqX"hh^FPu1SUY[E3[0Y77hf>>@bqa7HI(*kN@AJ.8b -OToT\(o.$L_c"N#HoJ\PYho_BR5l],'Kk^`?(D*dheOT%EPfHJi=Ycjd[F,e\k_V2 -pZL5P7(B1UR\tm:?OMArQhJnO#_MThDP?S^%tM!?Q;*\D7C$&Di"-pn*UAV5Lr",$8, -;[%h2i(b'VK=PbOUiS6%(J[4X3B0(g=>P)5`,BX:j"_DPmZQS$q'd/mFej"CP#s,lftG66&C!R0hm\;g;7@$1OVI=&@u,r#^qrSSfS? -KoW(*WZ[lHlP+#tK\01V\7R7l3:T\+[X7=4MOWIJs -rk/PMRm+'DU>/:4)D243^lG?t;J@JAFn72!^s)*sMG8$W6.<5X9q/[M`.ooWW`pIB -2-HV&MKt6e&W;@a@YS9"KrA%D&5`S?9E`^<5tO]TbMFl8M*9]2F=qKg9!a4nen2uV25ekZ.$NXb0]]D.a#pBV$$p_aLDYGk6_>HLm@\>4+5Uuo/ -.0>obK((W+<\KDr"+sE:KXa[.=@<9g98-5J#d^:[\E\mU[N?2eM6UB@Yi%\=7+fWN -Wq*?c,lX2GAJI#"Si>JRhWG2aL^s2UK^_lnctSQ.D$M2%LA@j1R2+>aWK9&dO@mBP -%_(("le]1\ZoZ66k#Ga[0eDfm::Z0pg)G6SX%m;CU,;`56@\V,XK1d5>[T?ER>0t3ik]02YY1II3I6)F,>HX_F%1dJSBb_&(^rGg+b[P,/f'?K -@];nu=Oi[/`Id'D6=r!>982rIK^tI-VNNA"lF+41>-/QuQ0RaS[Tp#5['dd*P.=_t -\k:LY'm2OFdV/8uXYFe(jK0aB't7D4aS:.3>`M_(>cLdm<,)"aK%/KXM\nqjOdVZAQaQb*&iq,o@87 -G3P?3C1poi`VG&QQc9&Y1RKKle6eR+*5Z&7A`7tibu8`-2&@S7N?oGh8TIcDK^h8l -Pc3$1WhRSO1l`=CC+,%O.JgDSQ>3]h -&r9YakaJfXU^f`&VUR+*:8^]^glR)hF.A=s'SI%G2NQmSkWBB.kkI;DKE2?G&L;?; -7Z_-dr&uh\&I:Q2,HDqG%JMHsb$>*de2B)B=Oo4`(QI?-$j,q,/.1cPUalg>gJf^3 -,1+If$mRiS/r[Zo^,ZhfJOW6F78p9kXD_k'[MK,#IdfJgCS7DgV9rUMQ=[%9Z96F% -`gSrL449KHPtTp.k)Y3o=r$-r:/mKi3C6LV-3:8h*/>-9CqpT:b])g%'HIFqHATfS -SEEJk%)Snc`t1WN7_KK$OSi)o7M2fJ)TLrFGI)e:Eh9Eau6;r1g6kI,;asbOe]m]@//d4]%&MPAedS&]h/2NQ?`K?T/rC!?4QWO(PVm>Rb3;\m:?b[koi>$&)>L2TNF0=UM9S&t#+C8bG:0-O=UK.6-Uda)'Z-f1MSW=C -b-=lg0"ouN;C8?lBcRs_G[$E"J6R`c^DJ1,@137,b+^%F(P;^`9!ZB=fkEc5im5A-38_R;e;@k -M9\]'B.BAj_jPkWR60&s`^[q'V\=Yq:'q"m.AD3u56ONZ.$n1/-1MqA.Q'\p1XsNL -@6H'(q'Mld[4)V8el9Nb>rXh^ABEW]H4K(U]eV`1MYl+tWQAO-VZbeoYe:hSd-D$9 -&fcP>Ftqss3erS&*s:/@%q5Z/#[nDl"FU:_JfmCI_!Lr*G]A98[/!lZ?bpF3"e`#6_XM%D1h\QI:qRO[pd,@?1e\J.+=<\a[S`lC=IukW=)'HP -.9.Kp$R.2SiM2;XXKE^%k_i@Vm8%>][G-gqX=8i7Q8jKWA;m4Z2b,>)MrT>+TSgU= -1<*Iua?I#n`&p'?Q#"T2QFFlb_M1pGA/unbF'!P0?>IpS9S3=R$o*Pm#"ZfPW;'W, -`_8!\Yd-8H)8EX.[c+&%RTCcj1FF\4kFVfi8^gF2Ve"fFe%0]tWQ85(nPUcP@%`fP -TU*dU;(e)4]MW3YNtMLgGm]Dn(c5k^F(4"@M'd(aB/[M%AS749n4r -\P-s]1=Sd>LE5a`(FXHps=]W"-I>MD6JC`F=$0 -BL$KqdC_D-r`-#lQRud5*>r?B*$"d7[H:ecLtbNUc'c,L,0&0'>U5MRK+)81iKQ(: -+Z't9oo_$u6`qIDJ3:DLaPH)APFOROPO`CWg%e%*GqsK*:39kWZ$%XoJ>O"cn5D-d -FKGniXd(_oH-IQoant[6\pen,/c0` -%bM'!#E\?npVc`T4)97_C$!(u87W.+Je)fSYeNNS)E2)D0a9nm)hRQT$:0J-M6Sf[ -">G`L7oZ.QEb8<$Ge,/^EJZYV+`af<h2S/I(>P=)Ph`pDh:MAJc0oR_1KUt1[qS4lLF8e$AH.5n,X -W[BAP9o5CF-\=BFDEbm5'L=ns!CRWQ8ehA1`MA/27p_QVCa?1s.kak"JkRLXCfbQQ -.BYQh,"?S\5UR^k9B;fu:L[(U5dU]FE@!q"k$GWrmNt<@8E@js.6qst'XOt34UQp8 -cZ0O=iXLFtTo7_$9@ESXpn4;Z&)dLmc^GE='G3V8h-fS)@k\@*$k:#'hM9a3UE89o -p^Mc'?u?#S+M\BC^0i(l$_Y3B+N+\##Rccb#sadc5o(*l64uR$';8GC+b1p*'GePn -([V!\6_pu"^_at;8g8QtTl(U>,34F09;PU76elth6H-2ds3Lc=K91:D@XAXa*Dl#8 -`Z/4A/oO$f(]g9K&hFuT(`Qnh*$NHE6,9SaT$!iE6A.%q.+7@=cNYXM6ptM.&9;OT -Aj[!B*>2%^A6`rJbXJg[-UHK7Z@![eRW6>F-L39$To;dKRMfOo9Q:L$!k>Rp)')&4 -]7L6-%A$W):.u$^8gNdSZF49mP"bAlB;%^,TfTTt;"1/a%YdIU!jEs9Gn4g5;N6hd -,ecl[QN.1KjehetnIS>;"tThqER+))KZ(2N)"pJ44N$Bli_J%o(.de&9G7n2a1u`% -!=]F&(Vsu)!@SKgi%^ni%`%SI-eJqPqL=+j&0V>TT`/,G$7D$c'A6TX5(l\JgU3$t.9e^r-YSV?l,"&Rdj98+I;O>m^UYl_01f -L?:JtB]JZn9k&2\&a2deC_af2Da_I5O#MlX?Zn1"JcZEL:&96aG[?>,j`Pt.*j5\>:#$+#BVUGEb]?daX74, --hKtuZNO@HgFEd_)'PRi6(SrI/A+Qa.nsF&L?:'>(/@@B8j\goYQm:kSCeK.1CHCo -,`n.>FWEb9Q/OV7Vc4C>:_dDFG=>mc.>"KDKhC[0`PT/@-b:j]Sis<0-\JFgJRBlt -,dS]9W5?E`Xdj@N'\7l^0p+)Xl[YAA679)fmh!K/V_#/%`.j?`'nID9@,.A^mX:.L -TlWa85mF!W'G)Dp&E*g*!>H*Q*Y4=G%Eoe#i7)&4,/'%jT.1B_"!&+!dL9^S)GUVI -TY**YY;rOH#lpV0Tje_P'G"U\'P?nN@;Hb=L_q:U,NW`Q_U953(n![?<<6u2!H_r4 -@O9%d:1Khg76"i[M"0Ic,Gsuq;@GQb_I@QNH3eH3D..$RC -:;L(Oq,jUAEh[O#AU@3&FP9'KmP?E#<_RJ5S1S/g,lpmW`<6l(A7pHo,,]N4@]])' -Be@^%5:;XC-PRqFPqk&q=2WB7EYD".:LgR*-LYPf7iP0UWB@U5\+8aMV\`'jrsJ2d -(lp5T$T:*kTGF5/&tnq.@-eCU\djoqD#j2_!<`r9$nib*&7H=d_%mT5"MUQ40];@/ -!7!E@XpguO%D_(Ai:Ja](>Zd_%A;3--1:^&P?$#2)W8VC@)NDfSdhAY(Z@1^@/E3' ->SI383Ft8G+^CD>j>gg1dW%EQJo45^IO3->:76IlX, -LP?"3B"2:0l4t6!(Zr"V3P.419 -'3TB;'gYA)2II6`%^n]%`M.f*eo4ZJDGk%=+0ZbZL1b0r[Y@9H,]XJ/@VeafT*pK* -HY^8n/"A']_d#RZ+X5,]ibD4YJ4HE^cE-J1a"G"/@QM>+'7go1+Rs9`rD?@O(4cGr -_"s`4j=a0n;Y+'G@hKi3$in'N@(m&bgMGCUTnhD4j"D>tn-^tM)AQ\$JA_m> -[L'at&qXF&i;8\3Xj\M2#nJP"dTH8EEZGJS^Fa?=K:1 ->/JLH#B'32q-0kiC5[IO1(/=W$l"tS(#_1eJQ"1pDAXOe)[O7C,Ro'U`leouC+bV4 -QaK0s]#l9IHj!_BGIBofD1'@I72OEIB*>in-5O[UR%\h"lM;A)!`SP@8Lpi87SaHE -pj#cEP%?g;[/?,')h]Y2p&rmM;`YX:8ebo;'iVCfBa],r,teJN;5H%tiaA:.aQ8A5 -G/kVOL0Sp9kU9.NEp\JHRE&$<@fU'&L&tq1VI&jlZO:`'5hP>Dek!Y?ReV/='[i:Pf5%M6G`&'N]%a9E)=cjOYGE,"SIF*nIj -jc%J%UaeT/j%'S[-k)KW2LuPd@8%BO*"O1oT>;9U!A1>1A$_rAa:Tc0b.O400Y9+lioUBs&CKjp/=->"/, -.u1?u-$UuJ:-+j/ee-,H7t[Ph]7@i[T;0+qAjSWbAVODoj0[jJ:Fh2ola9$cbGoC?g_!6C)>`Bd7A -@V.-AIMh%>)e9!hk(l:W)pB_LZ4+c\f=@4Z?tu%:D#&^iCu&Mr^O?6CR]/9Z)3jRd -X;I%X)1e#oOn`N[\/"#O(W3CE -HFo8ViaPN,F%mFB.b9kteE18JHt,Hm(ikVD.@?;o9hlD_.bhZc]>?b#!\>gWDrf,9 -lT@lBL`#*4:Lfp$Pk[nF@MN<:&YSf5_"nQHhe^L9DH/']+UVDh'uXt3^OZGhl4@2c -fF7i"3.SjS`Ju^t*5V]g2?j1^L#p2Pa:!Na%)FsDJi"3.7M8!*&A\D[i@GRL*YRFF -(a2KcTr]+O@Mf,^('D:)JVk:[`-Cmc4McEkTl\9#p4c5R+a0q70[l18IRq;!a^S#u -3pk%eMBhWOcpOmrJOC5+p.5:6(h&jP/>tg"aWp@A63tNQBZJ>U`QZgf-/m/s4P"?( -g5aD;@7QJ^JoQ=?3_fAZF#(V;6%Tt_Sf&E9RCg2[FS:HeQ+Nj/8jo\bp:/_mi3=Xt -ciIM%+ZL./87\;-;8P;:8qX9!1!4MRA7\:[_k*8!RSB%=:6U+/HB/45U` -ad!3DZ_H/'9e`N#_0dZl`8i7;.:jnU97HJ:]*i/PYuHBt`0Bi)c?%ud[p`SZ+bU_a -N#.%M'7g^e:SaU"T%gH3q-agH0ldnFTr&t;&E+ZBRV9Cb9c1\(%:_`"L%cN]":IJs -EnP37=fiI_L!&@jZrnq\.j^A+ -BXM&4+VEB7eRYg`/![-bMUcIH<[h#UeXGHA^L/d!c)1Yp^>NuiS*h(3Oilg-3@U3H -@ud6[W)BX\>.%AUkB&a*/seG1]'+4GX*.])T!mpl>4#>EFh4bKFLn#\a()7%$sYEO -CW5T3GCdS*IE6@iE,g)da`6OA$ME&L*I:`_-gbSn`]=g(P]r5YrC4qT*2`4 -0N`->/bsG$@5&LUASRW$Thq^'.d[#N@'KVTp)Ea:Ng -gT6q_/3=dCQnWN5@C#97K*%C9as*?=L'_m#'''>X3/th+nii+eklO3`j?XJKOect< -7$(pk$:5:,!=D4*j3[We%jS0)3tB0,i\h4_(qM@/&l?4n$UWda08lR_\1e>D+NcSO -K+*tmM1Zs"?5G&aGaF^AkmBV9`0gs'';ZjF2l#ghVH"pVKV9*nr(=$?%]b`Mg"Ge6u&d2FRM"22ZUe$>T3YlEB1fu^i)E(Z^V)_FS -(+$:d?l6mLS84VW&]/H+V]j!NS4=chVcYEo`c2tkNK1"h.b_J;X+sF22fLh%@"+bp>jk"1n0($/k+ -=4BqY%UN"l.i1c=NiNqcQLE#4=VV(u3)GkRR9ir0aRr6d,AmqP=O^(JKfZDTXjE!! -:T`-[]e6ol^U.i(cL4%0Tl*sI\B/,^-P/rkbruXO\"Y_OPOgJp'<4l3-4'H:!PkPm --I+blU`#gB0SC^qYKT/W9U@>>G$1'jGj[Eu,CE$FO+[fD64fqQ&k*Cc@/`?Nj:MMY -O(7D]5`c*[r]J7HYk&M=A$FrNN?^F&0FQm00*gE'm4eA5aY#$MaZDK$OgDZAVjGd'd](P -EgL@TpkiW^9;%ADqLU>Y\W10_OWjt.>k507X$<,>KkXjmPsnk]>Gieu2Im`h$,CF. -(+PuS=MOJ,*5e%I5Ga=E(-9T@b;?Gh25^OWP1G3g]Xengn3]s5I!S1A%1q*d\])Z% -(IJI;4IA<'R:s?%B!>buZ&CB_\M,5-709ldX967S+S(0I$%f+G2T'&:7UuX4Z"E`u*cb -n,0H+&]h4"/-[Tn+_DJnT*$3UB3=Xk[MHik"U@m7>Yc&g<&,:We6HQ$U?Gg>@Z -.Y9:2^O/kO5eLG&+L6]r49F:0W!U7N-nEM"rODbT%XgEgZa;F?L@nP^S@Ksr9LaGr:$aU6eKQ/In -"mE''6n.;Vq9;@I#al8K/4YOo1adtWTG-=l:l3S=0L]*6']S1\Ou!U4L`*7KbS4-9 -0h*ZhZ&,GJ5_Y<@\NcmP`Ls"fV3)p5a;#:@_uu&qOHO!%KeT;;6H)8QF*c/66B2i! -#\klAMQpO"[\YJgW[k)Q39c!6VF>g"/IHDk$]GZ`2#fJKg2J&4,A;LN)l,RrF/9 -(C+LWYneME!/O(bX@%d-@#lpZD@IbV1@;:C^o%m@WLSjN:aq)XX3bT, -=UMuW1'Z+i*2@apNH)9qEQZ7N>pg_qN.V22WmSnaDOeNMG$=HNGfg7]XMTBm+;0/4+ -A&6MWG*)O*Z>aq28f&75Csa*K#N\^\P0>Y\V%F>8W/j,A2=]N\&CUVM$$gu*8h/56 ->=QK;KSNnMVcq0;&!^Ib_)?nhSd0q4BRQD%R -kW4JQi#@;NC"sl#@9oPWQ>Vr+%NeY-L="']jlfJH,$\[e+^0@*(p4StUf.UT:rWYu -S.ibY8;Mg4-H0,X"X$*`0b=D21'I*tL)=D(pkFh(>TrXt"i+/m5ZTc$5:Tg7Kt>@' -o!t.h:(@i^eKKUMOg`+ZbV9KTNEo#j+uZb%M;VQ -aSlZaaVR=pM9*]DE/#*Xg-Ea.4Idr?WBcNk>n(8pSs\V""4%I%kDl'$6WfHe5u\#L -^5.*P2M?WTf*r8;&*V"d!C%0M)@;-3A-TKj[9"peN%O/!%2G&("N*:g5*q ->m5g-Sp4TY;bf=IMCe@E$#/rqnX^g.PW,(oM(?:M+cqNg^'/P8T6Wc>Ec"(9^D]pM -[GYYOLhm:c>DDoj_=:frn8aEeF[?qH$IT'o1T3?n,skc@\tO"&_^M29^F[egNBkIB -Ts9=B(56F*%cQXUgB=93Tc$EiO@]^8TOU?FnegX*L$2a>QqW1[9a'*H'<;iY..T(` -OGRE:%Km:fHj_q9]a,IoaI%dVi5-:,co(?X_]aUK)$c-Wa\,7)bQ=NCid$>o7Ll*/ -ZT,[Ue:kj+TqKiP%@Ho-.+?.T#T(9dN1##/\CQV[bp4_*22"IFOAQ-G56M6S"->_L -o4!@Y6\J;P"=QM\kX*"&6)=#i"7SI+b"]"J2hPW,"$>hOdrU/SjX*eb:;Z2'+>!ZA -/V:3.L#`#k)F"DT%L$NDPAjYt:fP!hBSHdm"HYnPcrC5,=,#:!K'52tkk^WR>m6rR -POe;L&71'X)JC51Y^L6u`\ifk25Rth(eTD3A_0VaLjUm;&_64%.fEgi9C,W^aa]!JCE89Tc- -G#2-mVs*u_nu4uZXU$*dKlC5L-"bpj"k4E7J7Lgrls[g@TC$$ju'85Fo#9SDqn -Lu=P^W_"C>':A:J)JVKm+SrV/a@qH\4,E)T,71A#cb+?N/MXA"JYEr11K1oq/30mF -@"P/:+#Qo[L`&W4P=CSg/A6_c`K\o6Es4 -7tcC^)lQ8[BL9]Z;ObHbK>GGXBb6b)2c]?,7flhq]jN.J3s1sm!rsg&^bQ(,>q"*B -2lN!u9DL8Lm;E^NF61jEIsb?q3rd3.+/JY -Kh7a9c;8iqLuj#JW["R,OO19$Le;K;3EE$#q#pIk/"'.hJ;FGc?%t=PL8\klY\V): -)(@gj\kO+N;l'irXOuI-.9NXufWe<@+"=lG$Z.$l5]osN,;P)<9K>P#,tSUD=:[Z+ -L)="rWCB\C2*@p?2-B]#$qQ>geI@o2"h^%Q5Z%Zo7YFT2NT3;hJb#&PKZPC8,!]5) -JE^4r$rg("-pn&b67EnK@8jpp&fT0lE6R^4jPD=hQ -:!fG[fD+K"+BQBoN0G_jKajtWK"2e5M[j.9L38?-TPHjGDMg/T;8SbnnSD(W*P+gL -Z3;8,(in:ePDburQEYL0*?r@h%utVlPZd>%K1c`rqcUcq1r05%"eUM&cI,7APa/Eg -7'3J/I0N5S"s@+o&4hIO'a2_eRF:^GHAFQ`Od/15#mE^59J;FNYS>%%6AYUN5iUZU -Fh7CM_R^Yeb+qup&m:aJ/Ld^<<["-RO$-E8/KM4R$HkSgbMtG0gbGHLWe_L/V@G.M"s)fajm"_PD'!2Keb-uBNYIW/-6A:"H5MJLeS#fl3#0M#,$+'6?SPrAdUknU,>rT<.OHK -8=Wi!879j//J`l12D3L6$k.I!NKI?SBO1jM9\"Y_KP4,7;RN-'+=L[dR2LsXRLcHe -3XDC9+ds?Xeq12XLb"CG@Tc5qZ)b9Zf;#@j(bSGcM.1$g/f$rX^ZOgUN$oO;p@"m\5Kih1T?pY!88d'B3KW%HFJ4G9#7"d;1h$iBk -H,?_3Dk&pt7K[-i(d(udQS:k\mMNtT*ZE)?bR -;8faN^!ZPEW=B+D?3GL0K:#I>3+dmNr!^Bi_cZIE&reZ)%O.k[Zc2Lt6YpZ#6L+omJ[=ZDMG*+k4!6mkb:q&**DKkTG!Qq -dK>eW,j01PkCT74R!*-QJDr_p%8BD8R"?E9bTblWm]+Z;JT4nVEO=.Z91\S)W'c4T -6URePAn_7*@IT*#N$@2k -%aaI$R(geTQje"fgZ6]*JfKfS!YV;gZ[#peO<1_fY)bG[@X*'Fi>6o5p>k9_2-'a -W8!!p8d&;5/h%M<5X^8R6%fEgh/1OAYW5224+l`_"B\*&fKc9Uduk+'j>]/P:bi*> -2?][\.PXVlCVd88;jlT@;Mo=F#Z@55fUZN!K^_\lUD/El:P5l*K+L8$=C3SIVN4.9 -iW-\j3.rWgqmgirf@>:jk%-?d%\:.2\Zf0>5XY_<8sf'tT379J:kP$P@"qKn(,nhj --uk!n[eju;qg`O8?sSL`^BPfm#%1gBLf<*=6lZJ!"COeR&3tm<&s;8:Oo4Kt#56=6 -B2/e8)fA.8o]H1h27ZfWsNsXAN.<)Iq0:-I.b2$[>Skj""Fg7P-n,`cqmt7j-l5\_Rac_kT)Yc=_4Or55R(R*o[h=f53+ -h!A=LQO@rLa'-(.D-'C'qY>NP?EZ<2FlN:K`F;VE/"Nj_OLj#Fer(i;d;HPQFaCDh -O#:U?5FW.]6t0:gXB$iOb79EaTX(JsQ7E-J]l:ht035J/K&(IZ?>at`g]6$BL#I@6 -2D.:>!ggmREn?VrZXTRVjb[;F6H+7/>8K`uJ79?b"*G(j-6\+P(bl,;?q!f.6L#C" -0n,V#O9>k(QYUZ?"t.]j0]':c.=bgI;A<+G87iHe@ECtiR3p%1,X>_Tjl(5iQ_k@b -@$H?_FBb/&R?Ctq`\Dj@PN8,K7?M,#,"<->#md(enT_(L5AO06mQ%aS?\<`tl>Z_es;7:Nd#O1'^`3F.C9#m)\%N=j#1"XW'%?iV8-Eath"7eoe<9$Uf/JVfC^@S]tqV -fX[!JCtuL>o7C5bR?3DN1cjhMF<)k>*RL4Io;:18-^h'Gn#\ ->i%(Zl@r[.%H9)e(PT`bQ05;;K>BV(/;Fn[Z94:IGch5#t&/pY?BK%.ljtU`fk*O+YgG5`]E2kW'*I -GgJ:--/!^W(2IW#kH+AuU5B]ITm$n\)PLjQI,?\1-:1d!Y8'H"BSuF99_,^_`f&>)TY7kD!Bf(o%pS$DB@'KG\_?Jb256@0@X8 -aF0N9r'7mpqB5t[E=^NC4bo^0*^ba+%`,q=L/?)=c(MC8O54*!iEBH>R`ZBIjC"6N -P'Z=8'G`AB=pdPN.Ku7/(4tIHM4k,#KlF_JU;^WA_j99i@G*S2F^q*:,^Z#2Y?\8i -=V+W/:&3=N.T -*3:?^6HE=iN(DhZ_fDgffPig*+cp#h.NpH9M-/B#?t0cSbF0iM'?u.)<2*,.(?$ -@:J!C@'^Y9e5D.n<`"XdQD4o3=%at`j5g]0N>9Gfa^s%#b*(1612,UA(KQY=>bOTF -]s>&sSNP(`4\I@(7Iqs-_iiQ9t,GU^:liji`sVK(US+7icVCE5*6b$t"pE+>*iW -,8c%mAIFYN-U^jT&8Cc!LT.^'PGit,ahD`+ojf/Ji->f`gcPf1bSGgRV^I)/rY6r! -:W:-g4GrW8^Sh4Fb,JBg@]<(ZYs>i'32I@AnbKeS;l6#\giYqd[q$!]TjSs7Qr -fMiABlmMqB;@7).Ue!683c0-G>.[pCZk3J!p&L[@"d+Ct@pM&BKt]>%0lQ,m\Nimk -eEf*YO,toW3:WS0)VE?k;@5r_dc&?l\Tfhtken=XjC=/=U+sYa_cWZ$jGP`n.7jR' -(..M"N$2RX"V?t2U&[IbJJKE"Y_Nb8*'B"`oHFCqIh6'+6\o.U3.ok.iPDlRK^dbJ -MerDAU`u2?WaBAfn?[SL=oH]N#ZsN?[M@elpaq0N$N6a -i*M@NU,ECbpP#JB+N-&g]Z2QZWl=rV_h/WW(UF<#h;>kX>jQ/[isO'9H&rpsr&U5Z -5)Q02T1^tPK,7rb(FY`eUHKDI(*OZ[0rb+2Eh"UIJ8P^fCcjQ%1.iqA&j2&*AFADi -KEZp@(+8>,@+(WgU:dHa[N7$a4Vo@Sr0"4]LYuk[T7VrjRV8;qi&N<6DNQom\dgTl -HaaCSUHQu7VsrO;]("c,?J(TKDXWNGN\a.\^(c08?&]_XJ1[:?'r%-Y[/ifH"W3r^ -@W5)!_&sjfd!H>#$r14&&-3-r5mS&''G1S+&'O/I!9t&eg'_;Y&ED[t_t5t1-u&gd -j+1SiM_'?IJemcB4_dkr78bD*&etI56NLe'N0oerS3>u2=Q\[;U8V7W@\g#!4mH!t -CinZjYScLu'ViqgA]X(d<[8k36UWb'LdDqeR]Adg*!gR)C::1C -^,%7/m&Hqb$5]Kp -6dHs=W[rflIV8.8NItINi@#/nZjOV6&]$^G_)j]c6u+JE^:jh -a+>"U8fACP(_8mqS=orAV",(IrX])7&>9HiB8d>9mLFd&%Ue?+5dXdkmOb/R+RE\l -M#=TtDWo&!2Bm)h,*FEKDR.+nJd#$e+_!C)&6"1XD2LeGDEKo<%Vge4J:\>_j.Q]k -(-4(.J\j5mltR8d1D7PM';6BWiA;6dL_Tq]'al]15u?g@@OUJ!BWVUY+f$%8\1^.^ -*&+uS@igIXkc?E+mge--iP]&!eq^"<$gQ/LNqtPnip\,D*@QU1J_:P<;'KuQC_6NJ -Nki:NGSn>UMSkbV.2E`!8iEI`3lA%mTjSRBrX5C1%RD]]m8.NUN#I3ophiIr)'X*c0j[-2S>5FM6/uE8b?REnH6C5-4m0iFaOlX$J8Yn" -8n'uFiJ -iID_@TGLP>W.U0IV3L(NJeu7<'>YD)JGPeop6uO+S>Un-kBIJEk#"D'%`$R&TnF,2 -BGKWbZg';16hqm6C,dAU4b=e.L2ukg*i4IIa+8E>mQ@G#pc8qUHuj0aA@arKYbRqW -Hu`KA1X'!uSjI4/=MgSZ_C/OJ8>]fB'&c;HTg04k&/-3W$3/KPhJI!Y&Po -&KsCTTiidW-kug34Q7i*"=u[/AjNMUC%Mu4`d0OsLkIFQPX\n=`_\%j!(7E(qTkm$ -,QRY9W#"BC_4ndu.XZ^p8iia_1oWJqCVH"uN_(Ks7dj@o,[S,,DEn;SD"3?B`(G%p -k]:0i(u^90!JhUZQC7tU5Ttds5uJ=<`!Lu!'u;F6+\WRn=@r[5'r%N2U)N:T6n=+W -(#_+a-^o70ro$@n&"rb0AEFB;l48F7&)cR[+Ku<+1`!oh-inE)j7HHZ@^>%<=%Q"2 -k1Xf"Ak-D^_IN7K;a)Q=A2V5qd&ALF6D/oE)E$^^6/cY0!mZG[PZ_JHIhG:%9.3+- -A/03:'",k]JQ`]f'GCtN(*QfA$@ERS8ee#2.4or=6fo9fZRQU#*FZl*lBko#bg(i7 -@tm%hCqcpdpb,0YKqZMA.[][hW=?imKhB^%J_1uq/0/ia%c_+Q'0qMA=uOC52o0l8 -6$+Qqj>H5`Ch/"h:TBMNCu#,@'qmZ"i9Cdpq@_"+']DblA1F>W+?o!'odL4`JQPQR -3Z-h=)&51]6"I/bL)Qb#&&C@HiM9gHE"W0E$imXC -c5$qa!3uVl'1#%BP:Yb1C36-f&;9NaTaVHEHXEH8s.J]h!9\j)fEsn7'sAZ>6$c[h -ZO0-Y>D+bjXAh([p2!bbBJTXa7Fj`sOSQkQd&bNb^@4i6_4UJ-!,-XtB<'VnR68ca7(SQR$@Ak,YC`MEMC8&qr -kZo]+*3E^G??Wp'jp>jKRYaKdXVTDq9#NP53ZR@ODF)kC`ig/;DR`[,CZb=-Ojk.5 -ic,?6BT3l'Al'a^$l9%u(4dkE+Rfs$/BEd#_Z_[Y9P!dk,XMsi'R(ua`4B`f@aWAc -FR,20ZNi@kF*6.l(!.j]k0c9Z>(Lm8]S?JY1RS)AJ!Cgu3L'dkUR869GV,]cd7G*o -D6.X^EI"7>."Qgb/'o,Ed3;UN'Z!Nk5i`GaC_u'9*l77b!LON#i!ePb%)Bjk5hlrG -<3h+#('VcB!DjH'+:t4Z&`FM?JGKdAmS=(.%cH=V5jSp[V@mr!d&R$fN9B5r',d-kuc% -dWT[j,9;::3YM_-iV`$bY,(nmfH+j_q%]dq7E9@UK]L)c&9[r&t99P,EHJ]c10`6GaE.obk"[OIE -H>Z,183'@^0oN>5`'nU7dA*;;k7Fln>I4M0(o_IBM/jGiSf%QnRB="HL5(ZgM``/M -(a2uq-eK!'e-dDE&E-k4+dW$fK_LP&M,[jq*($%P.9\ -JFj?PmLTB^%A;8^^rd-1DA[\)4lop6j'K__E0bb2[FtYa=Y)f@*MD*i<7i?H$:d"K -gGVi`.g+R0D@YQ@@#bPuf%Z9]`5U`bJ -B,[-BW(9;oWhXT4/I,5PHJ-o0aeS8<:`^*kr_3D,\A:QHTeqAA.%j9^;i6Vq+`XuWk(L^TJ,UbsRO.Sb::U-=gW41K4 -j6`XaULmGK'1!gh'-Tse,4AQorPmncd%m5dZI^q>A^2bg`^7NW$,L'a_"n]g8H&WG -Uo'i+@8n!o4"-dp'[b"A"=PL(F?at2J74HX."iRm'[.J;c'$$6.aZK]C5A`$mfk7N -r\KJdP%'a3/eIQ56tnL:Fs%13lM5W+?EVne -039[3g9L; -lJ00_)`_QnOf6P0:<`4da_a:@'UYd[PHfDPscTeBpF:D2MjX< -N^pGh"T!=%RZ42>6Ese-="bA*?6)%D[TT[I$T5WgeJjV(@aNchm<&P9W_:bu>H-iV -G)SXs`!6;YbE6DX(9eZl#8U.3.gd$1MPRhL$_^m-Q)/b6=$2DPG$)V>\Qi.",u[oB -O!LE6=-[>?3(t#4;,gI.Kh5U@'dYS&;3`GJSG,2NS(q57-)"Hc(5@+CEL`2[`,;*N -`3V!7EoG)[9*[;jF3J8bb;,VE6.0mMF'7(:*A]h)F<'l\lT7d13RKZ(7pPpMcUV-j -Ma8h=pl)D7,R1rTWln_)U4r]'?U6)5d',Y?@<"T\:S[\fQ,M>O1m'(]A5e]R.9ofi -AFV'BPi[0_;jF2RTiDiHP`21K-"17f.;7/"W"tOgWei50o(]Al$Jh.W/8F1gZs%Rg -i;Os%_A`-6Kp(e((2B?HOYBi]#/[V28Ub,'7JVI@8VNjd8L)f$^2)Kg#$r)m)`D)lL08XH6,fQd?p5m9G%6sF=b0p>A\j+4)(%qB;\$^M,Z'`$ -_$i>`_m'&&Ns"&(3=b(_jC8qdq-um]A^iKG6q)IPOWq"END(Qn6Y,/YYECgIUSpMd -[AjVa&<9!EJhUEFV4P<&(1h2h>/F'elrKBk,ZIi&EAT,%;rpnp;3&SOCfo4Uq(tr= -,qQ).&C:m<7\q -gif6PI,?nYLGq08cEkaiFrccgiADXeZhHef<$uk5/#q!D8>HfK,`jV76$?V1N$]$? -Y@YO\<>1$Vn3n$q!BNphO\nqRPf3)G:iHR%3`d,ojZdCQKun5('lllZ>H?uS)$'W6 -d`SdKO>H[WL6L+n?Qa>&;YA.2=a/VRl>(1t3b']WM%*dOr7 -kq$,.a>@@u5bSk.FAe#OIV9!blPGOt`"E)C,/^(%'EZWSLSLL_"/'cHTsQk80Z55u -i3*rk^f;29kUoT.Z@5TV[_CBlV9'MJ!DE]^+Bg@SSP,4f5U9TO":A -9e";,V+IDQ?+ep8:?AOT[5NRHUBVjZ:k^Oo+@9BraWs>PLCa1\YkemH9fB.,7B*3`!$Q/"L#beM0'Ag4eiQc.:Su,Y3M/Z%On;5e.T',X$r?E[X=p -Ih+j+4,;b^*CC*J'*>\CN"Ki4R]17g;Eaq!M!S?%'REtU.$$m?eKC<6KTO0Y5tI4? -?K79=VT$tTQ^K?Mc[mGjBN2U;+]9ip*2+"&W1s[83[eQAV\E&$pc&:F.)dm>6B]m= -[b2H\aq2'"UJPk=.>49_(uH<#N,YWXT/6cudS@oElR#$lRU$PTFH^Dt:$JUJh5Y*. -;jm=kjYH]\=M9M@4T:HKj=R9mLn9YiV(D.]0Ep3T'k190#QZA?`>G!VOhG32d7Pe) -fUNZCJaa!):0h^-WYD1pVS])j.[(8F+b:Kj3+Rs5!n`>99e'j. -qI25f6HgRi;+Mu;0+i5OnrUM;V?F_s_BDm4#_iiK$r.0"9HlikFV"Tcl\5E3pE,d? -(GX=V_.`bp+sZHuM^oN/U\7TD=p:"I4K@(;$YAo,FY5F`$X)Fp/#8m-ZqZl[)%01k -"^LsP60q4DUjsi2pnAK)ZJ#YC%Z'4[U(i3K9c',:gUi/EkBW%"XpG/(R.5SX8Q6U -#[?Hm1*FK=LD3]E:l3"ZfT1ij'Z,Ar,Cs;RKipk[LU`uaECd+`kclch%&H4%geb;V -bJ]Gj8(.X;=A)92V1o;utP:ah#!6PY3Afcek8Nl<-:'hsDj;']+V*,0Zf2XXo]0sim[ -.-DR[Li]I%TsEJ)c1Pe*Dl$$iQj5M$g1gJ.D-a7-k0p\5WV&!BU!L5*K%YDT'Sc$b -)'\qnl\K(Y/&pO)+N'k!&sC12n)6s'@%OM8ACsnG,uuQ#W4<[!\5b'55*<.W;)45- -%*5#1`UQD@j)`U\3:$R1(l4)0XI=s\4+\t%)]Gu[VhN$R(fC>V$)oD\%>E1)\XF)? -Z%S&a?'+W6)A'ESGkMF,qB@a(,^Zd4,9@,X>Sc7"$J9p'&f:fYJIIoIK[<2AJK=rm -5D-I+"/t_mfO"fEK>DNW\lq-E.7]:=r@'P2Tjn]b1N=TOOGGop5pO$(b!(oMO!'Pp -OSGLblV+\?_?q8=6ST1JTN;;s=bQ9.KXb,9g4[-!b(TgnW/+Rg:fN-.;Rf:6MoiuP -$+CKR$'=cQKrAFCLiJ2*k8`5eY)?i/Me&AggQLMH[Yf&O_)\C7fopAt#Ad3WS5BqK -ee?3t01eNs_rcm;kGgdQ$BSMMbHrXkoH@>!Kg8B93&uVa7"l!O"W?\2+BaS8/e;nQ)kT(YluU=+>XC[)]SI9:pdb!!P0tiRN%\E@:or%(lIU?N#Z_r -dB,5*\Ln3aQa.++qONRcG`V?j6#r'r\'m#l>%i&A`$T"<^,:86c;M3J2^>K:#Mj&6]7q>6S0;]]fik$PjG%oFKCJ -TXf6%R;7$L8$HqUo, -;B6'.PG?`niRL@2:eU(jY7gFS8otG\Clb7l1)S;*GZmOn"g=mm#]O1*aArHUkC\RV -KYWrY:f2nm9a+(K"c--385cj('dut9#bY9'+AY#V"H[S,Ll.9I^r`;Hi/j*0(,HN, -4#8l1Fu$[kQRm-U)?U?2BYmmLZ8+EdZ#DGAGYQQ0+Sa),N#!ll9I`GY.T""e$0[bX -R'0okP$1&L]QmCCQ/L46o8cIVVmgcd.KW!L,GL7D$*8aM[gPb,-ND@<-IUsu*F -j2)C"%u"Ck'pt^!YYhVq56T>8XkFe\P)KPm:B_^qMBlYb5Z*e5YW#C(JO`)&A)^oV@g -M\0c]')*FY@)[@nLigYOnj4OV>Eq01K+L']0UN#[c%Q.#cHoLD:fN,c:^&V4Xf,5' -W5V,\_Q':VKirYbQs5@XV+mKKRbHVZS,C*+Xtqe*M!IMpa`>E%bEm9m6&NXGI$prh -!0/'14##9F\?(u`1U9o'+.R)>9S#4&^cHFD14WSfk[9,f@4O>=]@7![FS?q$f>#sl -$qip\A#$@S7tpG@(Z8O%pgf24(meo>"NWt6?ql>/6A,V2KKrCq8O"Z8,@/'J`):r5UG8]I1h>dUjo;%4,b+IKYUQj&"@Kr\A[r>*e+ -+tu8\d?p7KaVi>2b66a%"[)uJ@$4D:Z%\SW]E5:*8QNA=dGP:c>%_jU9Cm$^cQoYMTn&N.)cU:]EElK67= -$M_l=+KVcnVhdmrLsWXm,,@JgOt+,0bUBn]g'_1m/15Sl"qZWIOoU439UDE*N$-Rm -^g1!NJd%N8KLeW;-q8hS:FJM4hG'/pHMTZQ\YiSD)EU?j6Qrp:HEU`T?I5Q+L,P,= -T#SpA&8;M>crCgs%9PWrOJ'1laUaZR*T*jc";joJJ*:^$_3 -dI!&QeWD/f]/7_u&9/0`k\#Y8j9Fs>VAr%cq41)2o0AMG26*\%V=YeF5j=t9?c\`lP -L%]MA-u_?%EAT;T@[U/8Lp37^7O. -)66:>=To@2"=Q!VcpNkN*O&8IKoh4HOXDiUQj$$GS2,`@=B8%r*p!JV_'*K+,R#_Q -Z3qG:]9nP9EhP8E?b.1t"qF'-=HE^#2:Y;/c42oq\@:$NLT9*eT15WjY_7sXeZY*F -cLb3I+a7E6C95lS41oLsH3@eh)'<-oO(h8;@-bT6h\>,JJ5HZdGT:h)nBmA!,.,LeV??> -VH.gtJ_.TIeWVOY';BF4aYR@'EBYdnD`L,lrss)JoOmisL"8^5Br:B4&!.XLKqM=s -kX0tn/d'a#?mS'l&5"NVWK2?GMDEk="KO#.=?phn,kVg8Ie,Y*Z.tfeXIHRsNQ?$h -!ot77N$-cAJ;FUC$-A3t -#mgW!`^6qr1_dk1#W_V04I%'td-B4%]h/p8F<8_\'5Q_-C/e="M:4@G9=O;Qu2:eZOu3Wee.9Z#Ld!)E`c=D!ajKjjEV -]%i!F70UJ0SePE5=Bm7g&1ET]^hd!/FmnQYRd![;CO8J>\:V%B!I%$4p"hMbkks7G -`&&_VLgL?8`hjedZ_UR>WA4WeR[B!>D&*p1qu:\Gn?="VG)_HL)ThoANGFM%_?JRl -K_SJ]kpE,*i?.!/>*ua)R;mHOoQV,:AT$O0R7)Ge!b]TbG[\QB0W5P%e_c4fW'$k$ -YgrNia9?%-Ki"@Wi(4&[*[M!he.K%k0MVbt:Ba,2OW>HH0MhoQ;$ARXjma"N#F]9$ -oF[8$"jgn:aD_@aE0A(J#:P*_?r/d=((CFf_AnS;4/pfsFZNeSJ`SB!d2dJ$`98U7eGdLR(,o>eHN<,*.?c#UR'/D(@7)I6=P=/sgZ7AAIX,a-9F -o6Ea'CNYuHf=3^)b6G[f0C_^%/Cn@I?S=(=WP[s@]u4N%RCqAq0o99#1RXcY3b5jl -b&?TG_X2`d@'E`@`PeqN._t,2X#6?s@5OA20Y!tYOaO`Fhj1WRhHFDFkY1Lsft-n/ -U"".[r.uot@_ZEY==bd3h+k(Y/(VlY_U3bI@Bd$fcD9H8pZ,)93H(dY$D"`(dg#]R -:TAT00'VA+S>`D::6_Q2@;MJMV35#s[tTrL=-_l]<`UhaN'pd6&Lt=$(%F"e&/AbM -<`'QaE>VRfjV_0%(/XO)=-Y',2G]S!5u^jL7578.'En4q:_\UL>$)P;,Z7c(V1^i< -ap":d[$B%LA7?G]ftMGGa!nlVbm6oOK,f^Cb]4\Y3Za)$8>47dcNr5cFWBR2*0DPo -6WFCdM+>3Q?t9ZoQ:0h)8&RBUN7Gam?b1\fl_ -N$XS50QoNDCc#tMFT/Qu6#9^tD3,L#nE( -]Qfq;Bj9rA(B<".`!6+CD+\u@_KPmLg<_ECDO2YgS`M9#`FM1RX/b\j\Qk!o=S<`#!Uq+Vus,sb/.a[GY_;9@7>UnF$-Y+[C=OhL"S7qLYD -C`ChHb&C'',h@RlW1h6kSS)KsM5$3N1Hct]dN!FM<0E5Y@'EibS/;F`P$,Y96KjZ" -Kt2Y8PQZO+/.5uTPZ-1F0d9=k`H&S:'dY;0;(E96+CCH=RUf5-Kh5BIQ7JY@>F1Ff -"C@ESK(tT`Na#]*[Pm.QRTL+iMV&b(bPGSO%MuU<36Xa"L"a:7&T=p6?ae7oQcX.N -18u"Y8)bYQlUD5bEqb;=9n5&QpXWb%Z8C_K)G/)ZUe9ViHlmqm'Vcq -N\SN:ZU\KLs"0F@0SU^g<\0Wj$oh-=e7#;.9UNhfF:NlS+o-1ii;FJ2HqE;t\Mp=t -G87RK.tq_69'K%+01<,5?*mIPb\U2b@:C`U#bqu`.C0@98h3?'V\R(m=Gi5-P/T\b -'dBT\Pp&UFKa=@dJu'G%d:=etJ@?:C;0"Et,5_Ri3MkP_Td&Wfba0]$6 -M%@an]m!FdEEYb`*Zh7/X] -m*FhIgc+6[U":%5Iq;muJ`gRe^D7T"$l((8Ej/hGeWOo"X6sQFJrDmW9g;@QEE0mG -/JK$mFfm"[2Fb@=^GA/uN+quLO,E$Q;i8=tX5u&LlLs&B*+MusM&:p\U60+B7S)&KOrSM& -,fiAa[$%X+;_D042drNQG-Q3?`KAkk4>mFK(V`MI+gm,gtgI]8kEFLn\Fcc%l3&L!MkL4L8'`62s2U1d8YRDXcuP@"u%&unbq -SFfC_V%EK$!/gr\CIPg<2255a5(t5oU)D8+B16VT6S5YuC%9_cb*C?&77/qr-p36W -P`eu?bD]sm5)VPY(7(3<8eVeJ,6@9 -'^uTP$dj\`c\[a1N4!Ki*QCce3SAmWB683cf(BEK_0K-nh4^(-M%M=,8t4KQr6=n= -Or14?8FT@[OWl>F0V/u@eg)"S5AA(bVg-:"%LUBK-UcUWW`4M72!kX`.rQC&0d=)V -6e!fEE7R]mKt`ZHWik=sjbj,C_:7TR&BkVrP_UT+M*asSg*NnJIdGM-+c$r[KV2e5 -.q6()JN+6Lg^;uR&:m;WJOU?)9&]k:d=a%sTk"m(5ZB7U=C_&+K'X<4?4nDJN!_m* -6?j:0md4Nt5c]]C7EV*:7QKes1ZLC]_d(nCbeZ`Y#m1[k%mZt':@`&OUoG:(A^4=( -U)&W4-j5FS-1!Di^,4mHo'['k'QH:r"bS0(39m -_#lg605_Saeto'\h!gCi/^cXhDSpE7?&4<7`('PJ38T^^6dM29`'4"U=H/=8<.S-b -@2'?*C>[uB8d):3Bp]Qn!(MN?7q>4jn4jY:eA`oV>_qhHjK-HX0)fIAMEtbh6&HP2 -W#NRm*!*u&@DWub_JnKI+AQ*\66?3L33_X2,/QYeJ_D-K)BnSp*%H(4A.JaGI(!M` ->[l\,5oL7VWX>E_'7j7S+^,SW^u8-iVrEjS+ZpCR2AK\#TP8"`E;UJ[.MJLN(/ZD; -_U=`::aF<$>YZp#D3?]-T(C35>,)RTkHOPnl8gI<$?3#[MI*,R[MWT(Jq8XnUL_-7 -1-Pr[VPg:tA@`PMH9OornrW-DA&d'A?I[Cd%H@kEK>,oM0%qha?Qjq96"9NG;YsmC -3(>1/X]@Lr+MgL\V5*h?V4NJSNl"Z2&]/WM;'Oi]I#dKDC(W-MDrTXa%&j84/2,6_ -+^>[(&/'P1'VRK#As,d&=tDs!'+1NLcc6fLIL4;T%o>/o&s[K_4_rt`_dOrIORoD!47>S4.SD(nM*59n(r:_<_3,\>bSEKm -5Q_3G$;-"#rD4_EfnI>@WpQVh&Rej;;l1&:'M/XQ3fhC -.Nq4-@:grs+r&*dqI6fI+\ECK0hFu&0ER-.-/]XAE->Yl=(-Oo+_3SgZ@E6df]*=. -XGW'QZM'!Y-cb%+E/$%k(FS>8K0pXbm9G'o:F`+V>4%53k"&iRS2uAD=(A?DX`-0! -K]iT@UpL.dX]Bm<$GGK(\ufM:Y5)5:L`!P8)($[ITo=r(CqX?;=nTKG`^F)YJ2P6) -H&"0/,CkQS(6tlWIc?A@6Ma#KoHg;*m0'CCkjJ6*\?2Xp(2/f1Yr]u2N+m%#21.)T`i$U!ki^>8t#5)moE:NRB_#GU:6Y;Sk8">M;Wi=*a;Who+G=WQ)m#hL,^YZ-7RG0BE2?@B(n`l%44uek$5YV -7X](+-:UdQ27B3YV[NKh[K1pG5@S"oZTg%@iZDs3q7<=J& -@5DE^`"d#P/!CI&kiVmdL@(=Ma!sHHip^&=k0g@q -XRb"8kRB[fO`9biG.8HbKX -"A#=:pum>/MHBC]Un03]'9iq`C![0@qd*%BYJVAX@V@ -'IKu)L@!NRieh<"\1K&ect1:a,#4)Si[]"$XuS(B/i.*1P;9[1PRLBGTh6%C:Aa7h -X_aIuTfc7^4H%5!@q)tGb^:(45^,W#Uc4ktU@E]`*j++@HQcU\#51`QS/buB*1HsI -9*ujl,0NI]!+b^Fp4s_LYHd)/0b/nm-.`i>!Y,4-#_:O/na)3#8.o>N'@a)ta,UlH -jqV;c&j\,bODLS%S0c/2m363Y+Xe#?>XAuI_e*q$g'3/P_b4PBSI]=t\=l?FMI:$7 -gZ_U=Ks@B+.X^G,=]=`h,&1Ip(o8afUWmabYY&qL-2eB]= -_-dqm+:c3"$/hfp1kLW0U_CQl#7_ZFC6!)g/e[,7(hZEJblfuEf!p9'&n*[5fQnnk -j>V[FIl[_GQKYfIJWV-aQ'e2V-1Q1HhEZ^dL^h*CVmKXM2Xqe0UB?*Y@o.R\:g=,$ --ZuY#f5D3[RXHYZTiIV:cLnj9YIu/c?".hH_0?fJP(V_W6VU]JiJ@&]fdHIU^M"G! -'5;]:&A-tdH&8dB;:;t-X=JLd92CZKQ4lp04aO@rPM@[Q/5Va(_F;ojW8U[n!A[17 -8ebsO81M^#Tf<\$12KuZ23nTP-UQFeo>5d!aCQ>DgiOJk3uK3V)8X8Q;5>H4Rl"Rl -RL'S2^'Vp':Gu]LXs4,d@8IQ0$4VN[$=M^(8?`c_0GD8P&qMbjQ3p$6;A13+'OuK> -B_4qGY';:D\:Iok^^ -YG7F*ACK.P:D3)d10b8oUiYcGBOP)Fmp/Ik._SQ#&=0c&U0]-<(ZC5h!K9,t2:Ns? -Nu'G=GliRZp-0"'i;J$OUC8K?K9kRP6H.0!.*'/i$*&3Fj"WdP7[El6fm?\M.V+W4 -`'H')SeM^^'D2X1W4Wic`YG\`gS1oBB9KZ,JY10p@.3-*2J@pn*][Y^)Da8k>_!eP -HKATFJE6*d7.[[dDB3$mW(bcQKIer'@MAhE&"q,Q5dCqna:ml9']CSTgM.Fkp(e17 -r'HcX.opZt``F#hde/:=OK#1to -=KE8(3Y],]eEV$uN%1M.>qT1ng@]l8>[/l3lXdBqd8@3NQ>9-6d:T[fX]H'fHF[Xq -=f`@\jb;jlX]?qeb8ZH2X5]e5(1YMnfNr9Mp0[?kp?rI+^3Kt?8EPiSM4 -0+"AWk"Cu`;]8LGUld?-'We!!;&%6"-:\d3d;E-SKumq.($2-,>!tf)C0[(DiH/$3 -UmYDq(W`:f=VaZ2I1@l`l7QBZ$KHTE/oBipWY]6gFWHiI;Ok*cX$QrD(M3,g@A6BL -LgMJ8Op6^jAd#Xu9JZg-JtULpd"S0/8uS__WO`s*.VY>-0d(4!mlVG!3Kdp?jr&b[ --&HI<0?^Zl?Bh2J1,h(`ni:Mf'nq=,?n!E?Lh0B'ab!uho)+I'aR`B"KrGEdA6lp, -lGHY&WtNL[/uTdgY.#p5iu5B1ZH?>d7>Yb^'r=c.]GA_4*`nXRO^D]Qlfh\^()Ct+ -=;@o9<)o2P3D`Y=V%bCYZ1/-&;\UMA4A`BfnMX)TAM#1D'kJOF:,>=S%9uB+e:P"Z -CNK-h?nGT!>8L2ZSnf;5j/d6/DTTt@4GP`&m[WH-]^e53;r[QmD\b*N27+ooCT"4OP>+2+S#&O>;m/b*@Aa:fm>@s&p0Z^.qQr#?q8Wh.ljA& -jL72=ZQbKi4)FEa#Q`[SK"g0$juV.SDHNLsgJN*X@g)o;A=gJLXNSs.6:9_"VEpn'4g&i_1r:5M;F(\)KlOYbVh3S4d;=+[ -XF_rX.$koGBoWYA8SI7i49lAciM]l+P7Gu?f,8Nbk-NZZT!?H,6M:sqeCdjM<>BauT<]fDP -/qqZ^85Bt)7WWJJMpf\7LO0P`LI4P,*:L)A)P -K6@T^;8dVpJE\),[?$>HWs4rM*JElCY:oRQloCYV5r4?ldG82`t'b/>?\i`g]8Lt2/5)a;El+XdqE`=0uOY\V-2i$E_4[^S2g)% -PLAQ1b(V%O=).7M*2sr-,qVa@a&Y]0VEeui]d+AXdT4G.[hWA:=K->%?cG4&:?l(m -3[CjqXP!th`,o>*.mY__UVKp/e@Ic?N*]gO2:;c[k).]G1TcL]6mgL=bUk5Q9H;]S -:Q//=Z];P5poL?r^>qID5.^sMQkY@0^5AUV,m:H@'C>h_^_fkB%FiU*[smg?94D.[ -i5HT:BQ5(l]Ym<6+hh%)lJH8&R'Z/O&]ZktDYO,[4K]*I#6""Vbl8UAInLp!s;NRo8>D]ub -?)3(-,um6-X(eClaFqdmZ9s>J6ns=)k<>7gMhFT@.SD^RbEd1o>H[dD@?TE];Ml6" -YC(8RVW'@0dRHpk;VemAEES)%,,QRWn7"G1:8QaPU?"^@5GV_88[3hU5*gl+k]K4K -$d0m(kltPM>pZ;K]s#o1PekRXQYXg6__E@-%N/2/A^#F`'lU!BC6:cm73S?c0Q$rNNQ7g\4./4B6(46],"cIG)7 -Vq!N.cH).Yi,#SDm<]0%/_*Cn'7qbrL+ohH_gn6m(eQ"[@5K2sA^._`:s-P(-mo1, -@6ZOsAPVg;0@8F>GdpRPPG*;X(0Im$X&n?]Z5H8K_PSOlh>F -S4]b^W]ZK/,hG8FX)ZH2]8F.GQnni218?V1dFF&Y]*Wc-P/*!FLoI``5*8uUKt*Eh -8_"L]e?[N:0rZS4P#`P>>_Vr_$55?T.GcmAi&H9n)):.]!noB^l^"5ZN\e/V\RCL9 -C);]K-Fh![ibP\FdY0Da]>.GhZJ?;c:k\U?_I-'"E(U8c;\Y+)Kj[m`^e=mQq1VB$ -Y0-,gfmOC[b.OduVLVeYkZe;fo*On?"p#dFRQ@P!o>KS$Mol5<3A72=9!V'm3FH28#`"3IKg2nt -*QbiVdjM2IgD(U=^MI2W'EUNF"$dfm#cf\C>PO$$MjsU(\cSgab.&%V>m<9"'C&F? -@7gi_5FQ+i3ga0,!Qg&t>8$tqqI:]p -/''NUXpE%$37%gXn3XDW-DVr@kYJ)n98&['KSWA,37]F\_7U=Q/uVbRMUT8#q^n<% -Mf^]iHcr9A:5dL3"rM"Y%%N(aE\DBQTZN(Y]K*Yn3feAETb:Hcl4pbtZ'A5S$Q8&e -d"V]@6A'M9Jqt]TLeNLF:Vpd@N)3(K+A*FE;?`.]N4\'PE(,HL;NWtA2W7JiaG1$D -?5dpGMiu`@.$B9EN!d%1-PY*6HM@][&CN\%cBE$;6)E'FB['MDrma"TV\_ -;_X&1@M:1WPQ50I&Z,pQY):S]Od'gL!+Eil2'(+%\b)en6+\TH\-mgjMV,KDq2rcq -]bSE=-f"/[^6nq@tTK`Ff"TLm6Z:lpdb -0]5WmkY0=^-86";%G84r+BT*ln##=/_=Ah:H\-t`AHoAULC3_bkj-@3E2YLJ0;4/] -fo-G]M2*j>#@MYA8?Wb;(qO!Q2J9&aJfH,SMP"b;Y$IkbVTZkhOJ8[ -X%S_8__`VaAN6ad5Qp*\'[!2m29$c#dr;>ndC'[`$nMLN`hL:1EBsmZPR%r!<#CQ7 -^mL@c;a?6`XN`2Jcr^GW=ui)]SAEC'&=PDlcV>C>LhU"G_&](Ojg4Kf.e'C)*&OL^ -W(sG[KtA0Sg=7c[)780;*m725bjm@1#Jnn343[@69+F%I%Lf%K"Z$P/fl_tP8HbDS -NJgW1OOXKt8f@+pRKE%V.r>auaej]!%#Dkh#tYM?I0K+PL9o3e&W)8HFb^*jY>L0Y -JdXJPArc/2;(1s,=Stq#qQ!m;Oms%lOl1r_=TkrmK1cB"kXQ%]+ioIE(GY-?\iZ,)/0cjGnn4p0[b3QWWEqT4C=;S1HApM -&o3bs1\e9r#-3VD`[\7HYd>'a262;A\`kZ0Z.1W]!kFK-ZQl@S.&2Vm%^XtXe0(4o -_hGVeoMm/=@@R\.5;?"j@U%9, -s%7\(Moo8!Wm;"$mMF\^[,"oW_XO\F=\46DN2^7;!Gk;`Tr+U"KbJ[-P&.#;UP,0` -KU>I;$>DSbjHPa'KYj,(d:,KFH(Z:tXglH4,l"7Z$aJbhK80A8>>Wl:r;mkCk1-rR-VP7cH!)j=\c%RQA"NXbmc$!8%/6Kt($6pdKhV2?L*1K(qb`\fI[; -dfbb&K[Sok8kt)%;ZsWjZJ-j. -8^1n0O[b0R5QXX5i*<%XJq\GH@@1;S:h9hCb2LlJO]Yq&M'EtHk2HCUk^b$)%5/rZ -H:J%?$K1gupq78*)?lhj7.A)'_UUJs`"m-q-K4<_aMCn.KIuUR%&8.Pl#_UVNWcK2 ->eW(L0MVaq6NgE_"U'\k?"&G#:loWjT/]e;j?>X41X>7^4?S9`4/.[;ClVAm#uG/e -BPE4JDhdD[L@'/El4F7TEJG#s6]-YS4VNkK'.-hl5?cREm1uY;WJ-^>K]kaTfJiqg --j-V4Kg8H^?rR:@8d&g!C!!)9\fq:P8d)Y$6G%ithI6imYh8KC=TCkn?=o"jB8)pj -Ru1;e3.a@Q^*e0_\=RQ->r069\.[YC.jKr$br#csAD.&R)h__M>QGR!OQW:4>&(Xm -g:@R_UM[oH#s;K49h/k.>6TO]kU9X>0O"`hANHbu(bm[6BSWqM_'9k#)n?E@P:E&e -]OFXc9BdPZ#i%kZVcrlQ$ep/&;1GLNn7'SJ[*G%*9lNWlA$/AG"T`oPi(V5U8VFYJ -Y"CUg2i6 -@6fQ4Ad4',L>dh'=R)QHm@^_B#>4cYZM0,c^cNb+lbVZ0BXsO5?!./,"IMB*kW4lf[VXT9!m$6=9M/`.Q5\:/2U*WY3=F^ -5;cQb=h0?i@dT=;X&t0pd^*)h?7NaFD<\c5R_i!F@@TODV+$q`"[>7.SC>Eo#eoK[ -EBCJ\VqLJS$OIF5W)j-.>)"G0#'aZYI-f?K1MD>7>G2e.>^BBSoVus3,?nMU" -5:'D*uN"AqkkX`l/de@eK%Ldodg=a3'm^nNnREH!. -8J@IJ>mR25]:!+Lcs2;@7Y]Q6asc^TqLXJNpBN*YL1"PH,,H'V*>V7m=4\^6i*EI` ->6SD/KCCUIpbMue/;*kWWF/O.!ju!u9r1bpeKUtrY?*0QSrHc+]/m$6L)WbYF?S3+PA[9U- -]3[-,CR)jnI(u[Wf5&q?iIJV>Y*Y("g?EZRYt&Mmb5G%`^gGFPZ1\&MHW7H"mM<5= -"bD$7?LJ\qof@G+O@Ur>HY'=1H!noPf_f>N;-@>3V$lD0?PPe5?t@gR#)>W`[o_m] -MJ[cZYurYYb#O'+E5?$e>/4pSp)+7;cKeZ+o&VMS];3]$k@13hqq*%YCjagJ9&k'i> -><`X4?<3>&;.CFX`G=O9(%#M>p(ak1D]BL3PPG3mkeU_4(WHK#>8cX3H/07l035e.7LUe>*UA; -p+qXP(q;@6"VF@*`._YA8s7-?5nD%JEDBJs7"IE!'a9_=>o&-P\llVf!_T_t%RGPK -(*ml.;nU*VG#oEtR<2f>9<,q73+^8K>s.5RAFm,RfljVP.pCYta_T'\V_o61aNrQ* -\uM=Rl]UIn/.5Al]e?GGkc-"G3_ZD&D%d8nWf,]$Ftou6,fVJRK%aK_=%`,#fSXO` -E8NTA;Pr*#gu@`:V(#_Z(FBHGPVaab@WgS2kZ87Zs(VTk%;l -C-+3"QUr.&P<5rUbj[`U/&GLP04WZq<_oT;q`bU5@n%1Z5u@UsAQ_]'d1V!W7Zg)Z -%S[S3TfQ&80X4;KP@S)59>]dN>7-STnN'GZjT0*u'Vrht9GHTV?_?O.>\a"&n!8A? -m]lce7MU4u8IC](9B&tf7FFO_Pbd8$X-=7(L/gJ"BkCJUAl549RqDK81`[r8jEO_F -,h?HBL)G0iCT',;?b^$j50:;:6`k4X$#8JNQioKgAa@'dY:[ -8JD^J9NjDY-;RAfbqaHIQKdup=qTgU:Q`bQM-O6D.0B4*=Kb&?`i"k590+m,6DhLF -pJU:g?nDh^\Llli[4IKt<7\lc>q<$qXnW$69:Mn?9OqP6P=2k1iLPFp/B>SjP[DX, -c1573o(S]\f1_a^&:7EmPVef@i;#2$H!*0F-PXi)\ -15!P:WtQ[*9aVcLImlo2'gdFCM,?Yk*0[Ne-ZnmK,HS2il-L4-I,bM6&h45[3Ym=S ->8qUl&4Q]IB#;br'uIabcOrdB$?^D+K1K7jZJ-k05cMZ,jLQ.)V(N;n]!'gV8;diK -/d-kjOlVh9=;0>@"R*?IfJI*;H$s$mP`M520#4,OH\B`dD+)6IVpVHE']Q[A(pZJ* -+Q:WkbR%aHp]a`d8S^-2aOCi:RWW8Z@Q[Lo-kqDP/L$nK4>T+o$Nt5iUiSVUNSs]Q -oB_Ikpne_h9MPnF0I;C.M\-"57`Nh2eAU*ONhVV3#r*JHK`%K0igWCK&U#f3#u)a-a>9ISBR<=9I!#SX'!pKGe>;-8DdNYbaYqlE\ -"shXE\,cW']HsFo:rQAEE=c/Z3l=Ud_Q._ELlT%(A;@JdMW/GP8p_ElF]i0OEl(Jg -ZK3Or]NaJ4[*$T3"!kp84-A-'6XiJm4D/Q;SlTYYRK[G,=hPg_qVPNsQ?'>ie5(rV -7p\U!PS(bd70p.B-:fJ3'2fIThB=)#`?G-nOkDb -A7F%n'n^BY``UG&@j#9P!FVZ+BWuWuN1^N?,Tm0h>m`l*5A-*:U'1?n';A/mTObG2"E>YG']a3S;W&>MA:gQ![C9Q>>&)1_MH]CCA:o88K$?PCnddY -PtL`lihV-YI;uH8%E5Rt"N8Y)E'KkDOW\(2LR_irXf*UAC%!W,CKS(`g*]B+aZG)d -LCCrk"RHW7g(l*X=,TT:P;h(7(Z^gkR&i>$=g;T'LQB/mQN,6XBIF->4b0f"@!BTEdXDaLn[2doqsS.\.n:`p?H -.7GAO'50d,$-aB_73J!1_Dk6sG)UjFG+h*'N;?1&"=_;m8lGoi$ -jC8VYiomBp1o#j:a!lNUC32:k;Q9f\L1T!j_SRe^VCp(j/^QO<".2k.OG/@*g;:@U -+adn^MCUkEDnMR?kl8uVe(5opW3*7I21NPR/_X)>*!6k`uU'4FKJ7fGWU>!aA^ -;?SU:LP?D70TNtE^.BfV6u:@E\r6cF7O_NgmlY;S"r,(5mI*(N%n_1;MAATtO6Geh -B\X`n*_Kj4&HPcF,!O/DGg&pMA:q[tUDb!nNYmQrM1\tJ!FulF$k:"f$36M%@.I6/ -!eolH'C/@l=_A=gc=U5ebn0TbA2C&hdaD`o$ -m!:+tTIaSj0]ffq!uMkJQuq@A"!U!_bOcWb0J]B2(PfG/-)uWW(1PEa,YkA`7=LXM -Fr!D:KE6Oij+LIM6mM+V_ls\"N$Bn_1dXnd'lMlQ -!B(Tc%WUR2']D(c+WqGRQ:'YDDD;oEaMP=FL.C:b\gNfi6n\)U:jD:G,%Nr#U95q" -5*a&W7#;'%VU#)_8/5Q@["2^*_MoWkI*IZmMBQr+6'f$3NYj%1498+f+S#saV?ju+ -$t1\N6"[:c+;;R<&]$#[!DF6%;A=^<'^Z*%![\Y??7\BU+b`16mP7c$:_oa*-%Sr1 -@u`S8U<,]S(u^/QC$*6C5'pm2_@oi.ime)]>lNa8FXP*]"cRoY:+TmKV;e@Y6?_L( -q)uTO"!_h2_SW/tlnZQ6`fpP'8aaD#6KUfI?",iIF6ZfQ7Q/7C`Y(*gbc\fo4sjl6 -hZW4+V!s/"5%;Au.0?6;@Y4[q:1Z%W0McqfK5tL4fSTl:4f1o%-%u:n\/$RPDBrt\ -:"YC5m1DZ%4iE#\&C@^K3"dAG&7HIiXU+F4,SG\;d.4m`@73TIMEp,W'7i=]+stW+ -O;1&D&j\&_@9,_R<'KN.'BFhS"9V2:lB$D?Al%m1RRaH-EX&e,%[ -k[5,k860.m&E+u5l+0oIH6ZqT=-1F!B?3F[eKUEVA:73aQ_ -J`q\D_XPMjlrdo4?>P;U,76$n)W@I!42jH<"#34q`5E@%=KJGW6Lt4*l7K'.f`R]& -a0[oP1c,g`M8Qjg%_kM':0:j#(BT@E:SZZ8>Gg`AJl"hYu$2sSH0K:i=loU -0X.al&cj:N@67.k9.tqq'LWuTdaSrH78X(T]k&Ur@6d:T1iDW04(N/te:qZ+]LHqM -nS99app:gOBRH<>],qRJIW3A -3^tbUQK`.DkKu,"B="G3e1u_DE%0AF*C^SoqD`HYK'oA99\fl95iH+d3!=EiMY5 -ADN@@Bd=&r_&*^!!"knWY>XY2Xj@^q_NVe_'8Z^Si@OE50M4_56q<1Mi@kie+B),N -A1^!6tm9`n_me';858aTN5"*8G/M'[\+l)MO'uN"1du -QZ=c9guT4c4V;#D#_7G!]6S(mM$rZ""29XZOG_,OIfl>g$UhR\EfrfN4c(FT'+/Z\ -gP'E

;OGJLh@?jq.mYD3E6Y.eKo11A,>e6H^Pdj:r4,7/L]NqBS0;iA(s1&K,,_ -:#T_[k))CU=L8i:Scg`6QtF'#"S7r-\qaV8lmP%@#GstaC,rRSYtB2g&@C,H*Em#&!(IN^l?;0Z;AJH1"X7aMYC.9Tqb7PiP@Ji=$4T(_Ydg'*0?k5pjrqGCgOE'<(tq`!Fr13"u^[ -4e`'+A*anF!#AV9C8A0JKB8R8W/MLq1''h:Kc$$b#gq]!<"KRWb`:Ck>:Ys%+]>+Q -3/<=.kU9W?X(==?_.Fn->SFq+&g7/`@+G_dbRnoTr$uYMTfCj/6adbh7U]%,mBdKL -7a=;#;h?oMD<@Q/03X4tTtr&eJNQCH1)Ci['oW>6TnjNLOsZC<4cH\&L0"@54=@UG -/^cDS%Q&S;l,HjI.Z/\)""?RsT-ZnsGVC^9qLX1JO!-R;>-YFijj.90puXX9(?.Y7 -Q`[?22X=dh7mV!cbV`hh#g:Si537XF'E=AW3pQq+#Cp'UN*l -45n/UBpTu<&n(nQ^tK6jbR.bIQ#aSQ)9e*&g9BY9%,kY0o#)4tU_UJBc"?!qZgUt* -K7:XI&chtGKQL=KbXDP?(P.C0Ys+IiX)gWa4U8?Nr*7to%,uufUnt?"6&E`AafLF4 -1AAdoHMh6?CHq`L+S7;j](b0J'?LS@JedE&Fjqp/!oh)[YJr&BI&UJCXPojkO!.O< -WYGDH+K@GV4;Yk`HtFrMVC1ZBZ]^"l"4%`a;QNIJXE88?I,l\TFDk--Dq*q:ph_^n -;EbC.7WPHpk-PaE$kM;<5q18V%d"BI,:u!/'[#tZd,Yf?0%,[=8*]AblQ?mR\8*f0 -dfWd\\bWkjp-5>NmN1D]RLQmP.%@@QLDJgb,)k^Sd1HM7g7_J,+]&j,27%7kZT`?0 -iFWdt(_0rl$c(*t+Hd9=1(srY'm\@rD$I0'qJ^)/]&=24@7SUrmN3O%HUU#O3K)udK:gV+-(<4s'oK/\99mFV -.hdfY(+TQY7OGQJY$u0;K#qK,-:r.((0_W#'R%IcP+G) -)ML5=8>FVtUs`6oRS9OjWC31MWh3-9'+&3T73J(dd?SI316Ftt='AU8#47(TXstpW;B"Y<33Ck':]t4XO1oeZ.fZYZ!"ebXP5KBW4mpk[Fm( -(Id"rLbjka1lA*JbJs+>d"EVL5_\PInq1)k?-peR;6;Wn,'1Bh`Lge4* -oL<3*jp?M+`/ogtn=YL:I*NN^`%)>9nMuD67k[Oe?)%oM+V'kd&VUc5Ebn#O8Pq5Q -?l5aYJJ$"eN'S#m&DTZ[1CfO^h9c)8U=YY -"j(Z5Z_bV56T)s'i.aM<*9<(pktu9JQUprsQ51c=Ehb;,6NFqW9>Y/.VhK+q#c:&Bg>LY7"H7IW_/C/Y`bfM+@hS__)bAUlFA$.P6D7f<>7e`X9Nq^tPW'nGR["U#o"(]"6=dpD#r-@D?:]BFF=/ALITX49 -O]kSFjF^Rd+_AK%etJ=k,*OmZ2AYH8.`0 -m(m_qUj+d(#/)ZhBaMHJ`,,k(OaNu;C[n3O'M9"&>7JKk7^K35Aat%07kbn$+)R1L -o-$UXHs7i4Ro[E[9sE`GrS\rXTI)#oL0IKU5:[2La6l$.$M)R>qT0U[47'@gPfQ=]$j)Z;cDQg -;,*/-K\7P>&k%R'8s88CF'3gb\N!@uKZQ%:'1EL4TAM)56Y7"U'(AJSKX"$D;`Dr[ -Fsd7+m^q54.h#=>Eb;mU3iRBKSA^;I?=qh-*#<(=F;/qJ:L)XeL#uSaR.,9MP#e_AfdCZ.[&<%6SHp"=+ -RN@+2h9cUjNbHPBN$3p1"tD)m10k_e0mt$?Yo.SB=S`E!L+`fTZor*pod89#6=WmV -4A$mQUXrI7Lj9(IAn!&>1uOrAOVTiaaInb!=tE+D]kWq""RVa[p+$s%KMgl,*FI.]c?ORdJ'`taEOZ8T=7>f`cjU-m&d6o75OH+Jq -JBf2\4@r)DJe[3L5R*mk(BVBO%K^KB3; -jI:d*6KeRB\E'N4)`;uGLm]Tcj?e^MZ075\dQXJ$%[S^EMm)[D3h`#cSIm]$P,N@B -$k\4K7PMkR8Au&^jLo!`$AfuQ1/auki\/n<+D5*FK)TZ9]>A_@G7 -o)3j3&fO,s@3$YI7+mJ#k0,GWadFFd5$Tf=D& -d$If8>YU(F5UQ]EP7g2a:'rcU?jrMJT&NR>M@i*&BBY'__Lti)!nTk5!V)iD`reQ# -An&t]21Q(AZ`8kb.i/!$1;_!q-q+:+l=(.96F]mL!?<;_.1\4o3aK><^aXquIgmQ; -/;6@!+9a`r0Z&?8M;^<&"IPlcKdacpV+`;UY`05]L?FH3U+[j-&sn^uRo4htlU:f' -&l]G$UoHaP1O2G*1<%B2ARmVtP)ep]b9=JPAqiEqZha+sSngrmm5eo(K+qZ8 -0l&1897C[%8O(e:KL:`GT=73c5U[opXAf7ZeOFu@010J+L"Y3E@^>,:d:Eerb%EBR -p%]F&KUL"T1G6W)I-N%6#*"u:r_S:NSi+ZD/prFDi35b5li`[CGX>a05) --H'#G&SoVD+L>BDe1n'A@b=K_JGpJ(kZ8+BS4/<6KoN@IQP#r'8skP,]Vl0M'EUfp -M"*qbC-](=.UOM6]Ubo5_$i,oPWsus3bAqR],$;UT`Ne/2d[\fS0c^^EHH?$fQV7Ju^fU`<4Th',!miCu -^cO3\oHuHh"MdHZ:eeXnEXXp+Kh4(f!(MX7;lJD]"f$jdMMn=CTT9b>&0[qT83aXE -(F!dA@1i/(1:0siesg?A;nm[O/#L>]<\K2*uc*GXFUVXqFWiL^,-uM --'9F`ni%e,@0QH.4/+enX1GD6(*-8nOLiW2U.@V>:7O>aP&e2d'>u]a\t]9r/d+[(\;:Kb8qip?Pb:qYLg,Q= -]tKRb[L6N@d8.7+0T4'2^#&51Q:b^- -X!J%/k7&)]";jHQ'Ejuc6F^2R-+lH'BL[W!0`oEGJrhU<)Z0tXF#Tf^RpEm_>_Q9EKLeso:fsQ)*sH(_"diSM3+@UJ>D4J# -"]/T\HS^W]T,88a/]'uQ#_O+:(:0M0ah0/V$acti/kOPN&aDJG&7:M=1G"tWOoiuC -)7YhrfFg3PS8$1mJM<5.'9]U2P);GuT^iUZ,!$XK_t$_XE@chM@[cmoWEA\F0OlB] -+g^`:RWM&^ii&m2Y%Y;XoC\D`A1"Tu -$$f=-\ec1X9qM\`"E[lO5X`,L7g*d#KP3c,Hftg!mg;X9Z+*ZG4BDi^Ul't++lH!@ -^eVom[DsKqQap+TPP;h5mA^"l2u&`ZQracZm?+=dNG.=tq_"F9/5\cXm4RY5?J"SeF>)Y>2aMZjqf -"=QeDqqR.7>_W9Q0DLB[OBi%nY:Ga_#]U]8\6Xf%5D/:r"`R[3l7a@miru)`L$2qL --sDQ`=Ni;K7o>n<6'eBNXu'"W,]+>CCe,g+Y!\F8]L86Y/$lO-,9t+3%jK%]M%S/" -[?6S5au$?MZ-gHL#eR`#]0QuaHbR.l5a7Df4`FX4OUSV-3t1W'L"Wm=438(Zn=,Q@ -R@mhK$IVh@V[tWrVBTJ!A5*mYc%WB'NuG/0g9_2)Ql.Tl^FC2$TN*$.:DRJS_'l\p -&5ST/9a%+XblC089h86670I%%"IMlf_K?2aGoeaZT#11(U72QF[Y3R2"TV4!$0n-* -S%i0[$->pK]*1.0?`ud7$t4(@#fX:b[NW;EM3E;$=a#LE*X/?0'G?K1a@69Y4prS- -;e^K8q3*$OLkSYtK=EW;i%E(62?]sWKa:F;$Q90+7tbF.N+(n.0V/FB7KbD;"X01g -CL%J9s+lgm:eWqk,mK(.\@(NcK@!?rq4FEr5Jd83Kom)S+Cg,[mY,%UKsVs+:s53( -TVb^Ed:F-;%2KIX,,8C&b0)s]"$!nHK@/'O4*s7)OVUg-,S77DOM&4O&kJMY1cn)e -/94'E8Jn4L^5iRed\)IR312'-/[^t0UM12B&_.Ch6F3)_*Ae]LHj)Xee'i.m#j@M_ -_cIZcr,Pi_(i_r";j7R^cI+@49QKk"N>kDn4eS/:RHAu9gDNS1Z1PLoUi\R -$r'g%@)3WdL5_"E'Zc`^Gbp)?:DNY'#nXe2LfB'9irh&"":C9E^dm+WNf:h]Kn*4B -cr^G_70A&nK)dP+\1N?Tp,?qfg^m9b]h1K4@g+/R"MdD.5YN:eB3$-WTJ0B+NI%'' -+-X%][FDL9E'j`;9*FHZPN=BMYZF+==,%"qL-T1$3)'QY?j3c6c$3=s0U.UO\<=;PkJ?AR3k2;hL#R3*HK1 -m\Pj5_JJ[5aXH^+>O$i2hQW? -"3 -"Fs5NE`'ZG=Gq]6ORQb7:fu?O16k[;#uI6QUu[6L$9Z"\f[NN]\k+t12XD)B+1YLj=V^-/E#bfA?U,NBgE'eZ__NK/RLs%R@351BWP=r#qoc -+g#_e?&;9/HXi^K'4n^5VIaL1]o3@K+Kej82^S64G0k#KE+FD -O^&6d8;_(H7W;-OV9k:6;.MZ$(=8L)S\ZsFq%cH/CONN1+MkP\SJ]%.%M6P^+Q:in -7"bP("5lS#N*4qt7m^`5.+>7W=O[Kc7K]kN!q7]AQn3lE?3N;`"_)f]fLjo.9B*d& -`Xl>XBMUX%70MOKQ7/:-OF[R_BsL!,[F#:3HFf?!>m0(I"B\BPG[M`rnV,=n"`UjQ -LgGfA@i@`J[IJ[B:g#OV;p7]Q/LGYajGUY:TZUe+6qncN>JOAgI?>fu]/d7e.Q.n0 -2E\DZ9*m:K<')ok-LU;JX5ON9dSZF[f8RM$Kqb?4X_5riN4Y34Lrm.1aH3g[VR8EM --<`$_nhiG;u^g9-\MEQX7B0a2f%-7Fu1%7)meM1l\c5,P[p]\Td1l43>KA\tI+@(S#4+kmE"8G+a#X[eV9!J@cSsW,Sn4&(m -8dd%>QC@EDU&tg&")D**gu-)/7Em11[d/28T>8Pccr6X=q!817Q>"0hpni^UIY5F! -"COh)mC*6'`UK]d(YJ-ag'8I>2hNM4Jq,9P!'Z(cpk:um"O,8Hb5B"Yo5Nnn^aMR' -GYa#q;$BPKaadIs;Ws`.[2XgXO!+^a68+&.@"gR$KIBLtBOHXA\0Y2>Kb.=>i*qEk -2MHBNKgIL#fSL=nf`c?-Kpu*p,D<_Dlm%H<_T\lLC;@H!n2hl`!BQU.6-r5Je%Md?ENK`Dok9O -)RkjR1QWQp%*q+H/ZYFg[3dS_icr&-Jo,;<8LLeO="43IRXHXKR:X"oKZH\Lpcnq1 -X9/__"#r:Cn3[=D6Nh'l>Q%!^W(2N1D)U]uW=Z3Ra,eJ)8VD=_"HYi$BMHb$&rX3- -qA?TpieDM7rs=4sN(I)81ho2[:\/6t-b)h[/RC),7t`Q\KA\rs!(OrEE;K=D[Is"4/q.0J\61.t_M)1#[VM#Z1`>99(^0$qY2ukZA!:8q^;8KWCWaq(mu6 -rFiPS"e=Y50NJHaT(fc\M)hJGM%.on>J&S7#]Tqs:kK^Q -g5PDK+Q'L3++u6g$jEl.T\=u$E.BFg.]$U_"KPNP<9e$=NC9I8V@ok-dXargN%.g7 -FXiM=V1g:[ku=rk,`=o-bpIL/XP@n]+HVCI)@Zh*8L9OV1qGgqPtE;6W5N.:,a:qJ -dV-QS*?:85V@j-PJlt"*;CPSFGZ(!<>Cie!E4YV+*2-0^K;_FWhb%2K? -nQ8F,dL)7UhIMWeG34E4]GZf5&Z@pRJp$o+ju2 -!r7YU2]`RR7FJ/E]BZQMlD3^%>/Xf#),-OR_0WOk//AT#L-8gO="RK<^ZY'Ms1d[F -"TcD-_/NYG:0X5sQpq[>?l.r#I0mI'j-9[2&-JBa\M*iN$,dDVDZc=piHknl-.DSk -QR1U?#++H1EaLgQbXc$U&N"0-Q]=(T@@3oC(h/ke'<5A(:s9.U`%a9%#T(J5FBfUC -Z"kkU`OTYeQ=Xc@qita'Eo]gS!J'\UAYF#C7ajqS1Wlr_E@R;D[+&EKjk4BNbu2r" -=dH.I,:h-*,9C#(P/1s:QDJS*7C\&fB]#*ZEE6#?W8\f/PD$1f8Ws;I7Z8sUd_(X+ -,r%AO&k&-38.bs>e2*(oJH]9/j;A:l&4?7!7apY-3),S>Td!'l70t_C04_mG7Fu\` -*_VX5fcEkOjV^UEPXQMJD%srU'XB7QBh*+W"]>M&,H,TXFHpMO:ki6=HLO]EjU"8- -PGGMd6]].D!(;tc5q#Ej7,^6mcqK"!5F+-G?S7&Ru^@TX>@0jIouAQ*i/Pi[I4>8L1j/K6so]_l$%"mK],Q"2l@ -6ka,\A6Kc\9:T,>j`trSQj+=j:_b:5AP*^o9NkO4,oL-d9lcHr!^L]_jgdg!9:$;` -dWpFP_E72a#tJlDR1MdK#57?"S4fCQ3RCOk*]]aO,j2_!ri04h`S$&V(U5E;Y42?O -T]]$\nUt@B1+rCDE]_KZ'1ih6f]*`9CZ\P1OAA(F\u$!"(Ig#^-*9 -_H:`0OH<6M!C.u":l,h4%'L6(cmj^YM@q+(9FB`lCW0\g9;8@d)F6u87A.51NkH/L -ZjcUG5eRr."BgQ-jr_OOWHlTZ>F_s/.7FNDBF+NDMk]8^ba>Os/ZgCY;+rAA#dJ%K -feK-&#(L4#r(/Kr^F!L8hqRuUE)$gK,GZOLglmphV^]ToG?H\,C)'(U.Ef8aL+pU; -,o?!+^.Zu"M4;tL6,NV6b[`![':V3Z0$mXW&R'/f)kTF[d0M(%aYo<<^)1mUWgn`? -J]57L5qeKkZhLDk,SGU"YB#@GPmF,'BWk56`)[6h@OoE3]mf(o(R:+@;M9^N>;+Y* -M_SW=#k4`,A_^*5;(*U*irKZW$pTPf&0O@"^(A-s#70n#_F0KJ&hn22';H3^i-:%h -eHDHL+RlbV\="#.#Z="A@162hTbL>E:r@9H]>[?F2>)R*Q,V6&LtQtcb7).BiAN%$ -o-+c5(ds06nf3;'MA$03:C,o5-f^#=5#r00[TX157@9MT6+ek)YdtT:J9hnrMC==D -6X,C,O;!4n9G_`"R1*^l["4i6SJ,11$R`B^[E!r^B%p\$$>FXD:K[cO+N?7A;#V.jE"rCnWod2RbJ -5n2K/2maY[V?F_S0.(-NV^R:)ABUUo6MaCocuP_'`u$$,?]1%mhU%A"(he?2+PFbp -c?/)hM"0(A`2#!uZA'.saB.*3<\)HT^-Xe=?jo>]0rN`&]o@"UUk\5id8Et=DT4(W>8eAZ%P:i[0jM*hko5Xl$JFsJk? -O:T1_7L8#g-S!en>l"ssePf/N91<>q6EGd$P3Jae&?-Cr\b$Xbg*VL*TG58E:Pkbj -;Zl6/%tWq$##Oq:ejuVN6:#2h;'7,=WKo^lb8_]\E\#),H4;$J/d7oP(Bc/tJ&5dk -#n[ahKcm9-@\Q[+!Cipi=IW]mA4MIg;D+<(Z?me:HBO$RY%CUK\LcQVCnI3\Z9WYS:Q"7 -@Lf!=V8#\Sf\l4Ppm3r9q'#YV_saXeEk%eX$b&=iYP>q'K*5XBf*pNl557`?/q#!] -&VE"VN-Oeg6mrXbf[A6Wi<[ld$k\^[`aHhM%^d+37t&JuZcdP3-.S^,.KF_Md4U4gU@72Mr -0S09iL^J/G`(JDhhCM0Qm-@p[:Q^;S,X_p75Fbg]O3ahV:??7G9TfG[8%Wa[[&*+Z>S1mU`B^L?F9G`7&P+EcE4@pQ -pBMm@`/M[n[^>%q6&-$`KgZ>^kE=\5]PBfd^gm'Q5sc;4&i&W-(BIhX"R6][-5@"a -5O6>JDA^*J*,agU]]T:SM2o8`Le916QYn_AMrI:nCi8S&Ef$[4%NZG&JkUq"jbsV\ -jn\8g49e -K#%qL5m@i"p(&eR&0V*%_#=jpp^a%o%glo&@/pk4'G5!;&O?m<@0.#*D":+>&h#FH -Tbo+B.M;oF&uq\nOQqQKAq_m!'I*#kkti.0gj[ItonI]7M^DZ%8FrSF'4E:$Wp10_ -C_.c-^nW9S1CHsob`5n"3qapc(q$@oJoV3hnTZkJ!C -'1!TM+XF2k6mG#\X.hQf+XdtS3a.(o'gZ.?8lV@WlkTn64NZ*lD8\jnr"k#U6I!jn -+]o:@e.\9R.689]CbDDb[UdZ"!ISY`6ktZ"(.g@_,P2a%-knsVGpHp/9iM>&>NL?C5T_?C8^Tl;btl8PDJ,>ri5+c[ILYSog"$:_Zo/m&qUDT(jW_@0t# -jJnm>>*)Er%$%oGa0cFoIP.JFdV-E2aL5!JJIX!_/8[9fWDoWE\i<#!,G?B4i:mc> -kRPDne6q\Si:%67jpkee%nhAqJH6A.rXb2O&>EbJJI8:#.a>d\o:[]I+TrB*1aI[' -&tq!`#1F<=ckJhEZXpa-_+9h"-tc/b2bR6\5$fMd6JMn.;[M(u"g93PG%?_E7 -i\f[\5%-/e5ou-H9OA**5,W-0imJQ0e7tk\Gq$g)!H:&PW]t%s!W`oCdMrr%@!Y5H -7g-P27[FBhIMTajYA%M^iD^SglQb@db!AW8ag*npPh+:<6SLR8c,1l$djBp-rhgbA -X2?;Vr(+jh5k9Al14kpLF@W$J6-FL8$*M$Z$pi0HF_;'CP,:VM@gIgD9!!'uEk*Bp -KGNo23@@K<@B1rQV(AhHpu[Q36"VmP%\i5D -aDE2],:ZKH*."Qt,:Idf:XCXZg`o*^2o61QJJ8RO\dT_&%)CX-5fsLCc4(o?%3XF8 -i8bAUkqh8a%H,eI5kOPs![^25bb5@U!?)Ro.YV:V&4$.*!@fJVp;mtgXtN'4X"LO9 -Z=^3_+KiqC->QM!FVYX6ZJdKd!>H+H&/'Ob'1/E+0*i&\_@DIs'X/8b8G;pO<+2OC -UFII^b_?_fr!^BT%"PPhJB/?(=qgug+paq7;s4pH/e\om5G:\VU9#&;+qa/p5O3t] -k%5?::_VeK'Zjm$B95H:3&uYn5g*8B!@eU'$Mq+j(?6H0@<2=?8ep[i8)\h3!D&(M -npD_^alKlH6!+eo3Yj5k,=oC6B,oqWE@&Wm]S&L>M1J1HIg)WC]HdYOKGJ8NBLJoe -8RmiJ,[sJ^Y9;##84:V_!JYZ9V(&OcCo!^j.ElqqGa!m89MNqNV<2CQ5"CPm)8WBm -iM%6A\/N2F^S,a8Tl`$_2OLXk:i[d5$3GOOU.dtS+=/;,Uht*d//B$CHD>qa%;.>S -[8CS^?#:Qe6[Bl_%pB!3'HoFZJt9l<;9fchq.,d0&r%%O@5P,:[TdZBKe4u'jkd'-j&1TLp(NPZ -ij1WHQ@VVAl'/7,SR;J('.#BN1Pt8:)#uU -AYY4fbM^$&jC]WB'HmAd\/H)lVGRI.AHQQ%WMgYbC)*bd!^UXt/1;4+?"IG<-_X?P -JTbddG`YCF7-SN*,S2sF`(*R/Qh"`TahXLKd%%![BTe$gmYP\S'e7EsiC:8oa$#?@ -?9tQoNVM@(`']Pebt70@CQ;B5#p!Om&]4)PO-)iHfV1Z>q3J -+O"(FkG$!%W1qht:_:Ao[0JC;&HXZZ:sQHWnRt+!Cneg[0]E;X,3[)l'O,!8'=3E< -@6bGK'G"Ts$Xg1H5dUnA^'c'^$D=a6^q:%_`!eoP%%trnT\']=g^YIgRDA(u.t/"[ -!YEEn1*uc.Y5T#!*YGrem6aS7=iHms19L\`H\*rmL$TqH'GP:;X'nLs&gK7BYLXJH+r4T`'#=JU@)*0NZ3ik@&Fj-A -_*=H`5S;/)'O1[(usj!riTqrf\6E$iJo._6l>#4-Qkt@n2r]&BU%q2 -MG?2UKLh%1(nmT@_58+OU)F'$(obVnCd^N>:7Y;I+sr:iq(E0>\EAtJ0n\OBat=F^ -;E(<]'eH<*fLJgW=(6_Y?75:rn#k,4/e[+Q&nhCX+P[EmE!n0:QpA:li4oboa:)Ir -%%u)Zi9-NDjpkUd19,@+JIiEE+qhcf'Ho.B0fN0b*%*/0*:Km\nfBALr[p(*G7`Vd -V6hb.p+9kk@`SHZ@-eB^";2(![fZmHTanBE1(n"D%KO?Ui^p_uT,cfT&`G&Jc]9SB -BKdY_&KpQO^q:'uZjNJgKpA`h_(ZHe";8%g'9/PAc0,iB=;;u7&cja%_*V[A]u<]( -N!R9nWB_12^2'$kVU2t_JG]nN(_a_dOX-s"%L-A+3g5e%W^?Is@>l$6o7jGa`!=R^ -8b\A^*t(I;%1R+i,U0o)B`q"hgb$CuG-%,Nc`I=GD5h`]OCCq:p>fr4Cc&,o]'YMl -lJf`\MON=_])\LtC;P`^910a:6&Z\4UTpMa)+RLi#>`I)E0i$_kEcH>pEiMc/lW -&@&9V$Ws-S0,Xc,$[I%+!;[F^npS>"&HN'S/NTr=qPuna'[_LGVtS5![<2=R!\J(# -e%NbPFE@@uc%b;ji\hCAljr&,!JGFWI.o-b;J`ca?_LdC0CtDO=N]SX'7qpX:hUZ@ -W1TsGOmE?I\?9uP]]SX$k=b-bUc6Nc7cEinc%Gk]1jD^>@7n8INeAe'LELT4#:KBJ -L?,L0Z"TFk>aV:SYb@:!_4V[mWp.O7`$<2cf_1sjY'X%mZX#)$"KrT+"`gUhP"'&A -j5ht,*`Aiq/5FE$ThlJN80_Tf?G[n&&E4Bi-7Eja'*/"B/@Z35i7+FH%=m?fSSqOt -IF_7B&NARk'62oGQ4nfp0Q4DE6@9E0D`9CZJZ'n/3dD4Pb8$!A(Nh?r!Bs]k0G>b* -=.p$8-58-GLf[$J+fcqD!87k>oJ(so0B2mA+T)f-"!Alk('./C+SZC2]ske]$fM:) -c`Y*E1PsVH(H9A"QX!QK]Cq*b'=%e7YhEn\TX-LgB.cFQu:+_dt'l(j( -X&,`.8OYDJGqrc,B+agTL1n2**A`[C++2,[2Q8T2-+d$27@kjGn[d.poa-Tl-hJmSJ>V0!W -A[9]oY?J*qdE'K?QHs.t=3NQ9#/%f[/uY%\'&QHkiFt-,4rVg\YuiRQSDJ#"@^FN7 -oh/U(c"58]p/VOnHF6qXnLH^/ollE;ZW/Ihb#Kpb=5d,X<%7JAM+F:6W7?d%;+aIn -jEVk>P,+cs8!5-##XApH,pEOn]qmG;7?Q[\:/6uZnO?J$Di,T>QR.br -r07Gd!5,XpRRE:(Km?9fP@OCY8e_QB@$r84H#V5u7<)4(Q7^c\8/5tbA=OEQ=ZAm8 -V7D>AQ_i/]R8s[,3l.sMXhM0CV?5IXXd:gt^t[Hc!kU)8C-'&3bc:`[0UF!oOL&`O -#d1:GEl,$<3"%.WXC_K[I@'8P%rJNC@hd=VN@Rh.QNcu"`\7SlOCjn-)fi6Njp?F+ -.]JkYju@3,CfqNKHb/BP-%hMQQ:5WTk%1BIJCJ1Ko9A]*`I]48('S\]LDCXO/"C@N_DZLW` -[5k+Q57LTfM@hZhKFibIU*)l1e.O#0OsC]->Y'[u![( -+iHYQ0eO`)8:M-Ngd$\F8E*PeM,D-76jGEs*5h9'&r<2WM3Q"'6qE(Hbg(W4VHb[+ -:mhl']J>2V]G?+/BFt;npH7t&-\Rk:&L+LC,\-[16S/n;3Lbcc4C=9REE:_:];O'WlkFGY7`rUn(]taf$h8JX -f,9/i@aLL0.`BLJ9.MAeXBS/K>oX?jjq^@D=Gj#*F:NjZ(9tuLSf&On:EeZ*#E2R% -M$n64ttX6m[LgP8&mRqO_kc."s\@+emUr -)M(fJKm:-X,fm)*P2a=f)9*Go:g"+?j[96mXX%nNZPIP"c%T:9( -,.pMR0d%paJ?9Oh63(1E@f8l[]S>OW24=.(CMO&UB6KmL!;m7iF]qZqiHUSaf -Vdj0oZ8tG\Q^VuhBipM9AT=g/X:pk5/M)MiB3=B5@9HPfe+[ORFeM>#rc87%K0=6/ -p'N(`O9IIp5)A;DM=E\T`0cJpqrC*jb`3r-o71Xd=A=X/M(Jj^1(oTjn;._u-:F&, -6io.L#LNc1A]o,Oa9Y;Zq*$.oW0\+u/J3hFr@nG*R_Su/Jr+3O,Qm7M%`qO=PgK=J -6cb'^6B*<9B,,Ds=K)uY,WQ*,%OBL"fYAI_%u?oRZo3S3(52lU#11d8_XL;-_?5)j -<5aXL+HEtsdIP\)8q%;IdLt&3:l3I\OYF]I+i^V5$D[#>XD5JP3Gu)B@9?Dr5e@_] -e2dkT/h8%F3%tMPU5H6M.g:;>Z,5Ek$'@tV=u+A:>i8Jd0j8[UTf+jJN1+F>;lBOe -2]'\PF.$B0$UstNmfn&]l%7FkZppbACcbJY1EEH;35bI$/Ai4)3=o9WiJ-Gm=q^Mn -9le7b(.AeqMaFR@M8J/N6KD=.K/@;Jd5A:X2UCb3SBP:4eiAm%Ub(u//BDN:B=j:u -5CLWqg*u2"7.BdTe(0ul3^tg&0b:R$Ycp_&+@H>t6Ndrd"=nk^LdhMEXUu+:3\dfb -+V6oT&-S@lKYU/4Le.`27>)48"7SX>Go/:r8Ha[(Y1d#*.f9F<=XBg;)lQ92+Ti;V -8qaE8KEsXA:c&9A6%it'Rke#tR2WV$9E`bt*l.Oh\4qW!2Zr@W&MR#b#YgK'7g(=. -KdtJ%&CCZC;CS7q6Qdu_QnsuR;'!GHK[<,>i(8WR+VFQJ6XY* -[KPm\ZFNoHGZ"[#7Kgq#Kkp(gLmfEYXHr@b$i;NAn@u]RH'aImX*Bu2WGWL;fqEc@ -Mu'oLZdV(lhA?O&^&"qOU+@jgNL78;^$)YYW0bG,e;R;11;WXtU+*a"d#"^Y(?7lM -\gOSS]9W0L*We6q$IOl#`L9Ca(m+)B]>lK_=4W>V65p2.PHd1l0NA7S4TdAl!t[5>TIGMT -9:s:"Oe[6=&4m$jV4P8PUl\Hq&5G747$s+KkWFK.piJ<@#_Kq"\SiL>*>Mf>>%4KKQ'bK ->L*VU!"#?#Wl/P8A%b?">_V[KX)g]<1e0r:DS7i"(M^&[lF%)S-,%_?+[fnL1K0u/ -efm)5UBk;/F&=-7h?DZc[&I-HkgKhHdKQ)66r;a!&f[58@L]m]MPKI9o$\'KlOLc7 -5GKnBgj=o=@4HeaRMn/GJF#3.qAKX2%h$B&@Re^h<1cF0*$A'Bb,COY8V@/6KIB!9 -e!r&==1H]JY$o*aioe-S7ZiP4anS9"fLAE)4p3))KMY&Na@9%G*%u^\YBo?I;:1%N -6W(628DK`GGVk%,1'9KpK=T>3\46Z"&&A6CS@W?o_#/lPKS8k4K_gcF -$,SC,8Wt?\MEk;JW*$2.6WA\6\nbHLen4.4bQX-4Qtgu!;-Vr -<5,kNL+$G(+BScn8;.o080C`^E`Rk96j7^'<5=l[#cnDcXbbu^'k8j(n@f2HDC\i& -N!)X6)qIbo9G`f5QUBaqI-I[,F&'(!Wq%5@H',K9,?B0Hebn7Qfn:i]lAF5VLtGof -N)1['FOj8q"qo'86fX0d?O=mia+XDOm'='HoF@Pa,Pe*pkZ'h\Es7*^$01t&3:MtI -M%=VoUe$]*F.a+1;2'q6YeX7l:b)U?2\ih^K>9\Ri&nNB6IH38-2G?00LLLtK7mNu -fpsRnnI"XOT-b)Hpn2l8I1kR26")p8Q -Z-S);."f;s"@u/,KI&rVet#o=Kcq`h\3?GX74Cc$-'1h(W'l:U4sb_Z-ea!&^fc@& -6A&r+K,??G#UtB;7$"[#4'5+.-pIi"8sGaB&%UtYnaD.@6\JiD.02d_5rUI$9Ea-8 -8)U0HMDbW3WRtHm4VU?lZ_n,F=H=S-"\;,ca?p*G;kHY>NA+H<3D]m*X>M\+cIi(f#eX8$$)_]EQ8]d(d\<_aI*&mhO+j6+a=K[\J/&*P.0Fq58Q\:]_hq=t69!s2\(XM.fL-Y+H\:'[Lhh5LH -UnC?`mV!k";m9bULee1>=68Eu9Ft*- -aC-9(9ni0sboo%M!MP2q:.&tc"ABb>Hd7J`eftoSN8<\($6#V`EsgTJj`%0UHe(&f -abkrahXaE0Z6.?Tf&*.3X'FU#^3Mm<]Y6A/"rLfFLg>sa@YQRGf;ge=/8jXt>a:R[ -kQB=m7cfGCji)2ncQJ]Vd$P:[d-0bn70Doj_49_`IH[:8i/$n5OJ(*TZ?!o9.c+mGEdKlKp"+BjH>/HOKB!H8nWpaQAJ4p2Ea"B+jon2u?5 -PloAtVmW>0fKg'dAms0nOc0Rn_&0A'R8J)AO:q?AD)1BI6Bl%6KD98*(/4;f?Q&H)aZ+WMV(\<'9K=\)smmC0(6*i[n*=ddK1 -Q$ISlCe!N/A3ChJ(IhI5+oi)Eh:;kT1sj#] -'2EK6q[AS-/(&o)RnA[cGL%JD7:]@,-j'rJF4[#U^p3/Sb$o`$YGFBrKFSbZj%9V(fe4V<*6=F6eU3]W/@%=*9eY: -Y!'5t?sX#07=pU;!MC>380%ci1+q3@"9:]>hCOp?_8%;,=)_a8S?oeDd:';+e.B*@OIocc_ -:_0;ZO(kSI&55^;3"q`VM@`Pd\4,1;2&`5S)?dKSWGnB]W>u=.XA2p5"NYM"iml;?Wpm"`RWK?qJ.!56L]ur(<=dM_K@n -Ed'dopJR=d7sB0,"V)Bu+Sacq.)pbX.?]jEFZnTFEq -GoMXZf;nTQ%P&cdYb]]m1Bpi0Q*;B.W%.?e(mn!kX2WRH*=lDlf24E:hB'++/Jh6k -iq[c7?rE=!AX^_SZ<41D.n.&2B!>=;(=S]ZfkRk!/JaX&*Dp4J=PI]Djd!eoY?%\U -[j?X:>-kP7D^s9uTiA'n.b/c+3i,`T'BKfk -:mApZ85[/*W;nmfKF&nsP=3MN:6O[P$p]pXGt_$L/)p,&QNa?j<"aiig+NjZ.(1L` -`5+]:'Ekce99CJk3`M>SlQXK9,fq`>'-p-b9G9hY85g2gYrGGkAFVo^ai+QS;\c-k -C9\N85tY)kA[-30WUfDcVlFOkBND9i!C4746tl-Y'1GftZBbYC5#ium!H(u(j\\QK -:P?P-*gMF6-:JN,!=VA["Q;UE'h)P7=I*\/'V-U"H4!oClMWPD("i -D(o7hW01P>+Gbl"92nG+2OPbFZ36,]7HJQHU<74AOen?aLgZSVE\`4_BMinV*_U.@&^UkWPZ50oIU8k9GU8pEm -.uL::'pg6?Wio&Il;s7i5uU:=N%%f@0XL?V;%mKQ,9@M/iAs^I`A(YNPJlOT:DK`] -U3%D%W5ot`U%"9l"lX]f/I^[e%RH1E#l[%!UYti2[j27a7?PMk(dnpg#m$h_3RIaj -OH+#X5nLtS*_$b&W@CK&"G%ciP#OF-3/qE@n3rHbd-"c(o>/8<=@lr^@Ep -Bd?B9,kR*oPu4eS;%oaMp,J+$8Mj1!,fql9&aj'E8JL7u<3[2qM/HK3AFU'gN.T-Z -/dar("AM+V\LL>f"A\5WE(&3C:A.)N6q@mMEAC0#"VFB/'Em)C99TM)GZ'c%q,UY@ -V5[j&']h>R/gn$rF(MF3;YmP]N0.FLQc,ih4q_E]@*:/1h\mWFV.!54qN>(fs>BL8"1:^>OQ&;sM;( -MUf4(L`!U.MoC9#`4A;>e!YJS\T'&Eel7PQ4'[YgFV^_(^C-HP($/Q+QEa\"@]=D` -`Xl3!V@6dbBo*Q+TMp]p/0r0O^lGCe:aHg[-rZe8'dA0,N"MpB7e#+I@Dj%90[(D$ -BKZSCe/ebN\f8PcILq)J5mP3n+p:Gj&&J<7[BUSs6kFi\@I9WkT_'o!$<4EP!pc&M0#,-]dFCPAo -:C9s&.YSK>'4N@OT7J'CScG+D6:BmjnL!>9;W/AmYZH`[@O_MZHjrAl/-V-@'>mq6 -'B3CkM(pL?:CrOr6>b]h2C9aRTUZcA6q<*?5UQ^k#t$M598Rao.>8Y&'h.Y=RLt.-=/I-T4N.T((.8VVZ10_$74>#IJriog -Thm0@TR[NgS2JFi0I2=X+;F>O?.,G]6Jtb0;e8+:5o:nMi0>dnbA`:MeTa@;nH`07 -M.!B\TLfn^FbK7e("[3f$V;Ph<6ioFM`&L&]i8@ZF09OM3]n?O^7^LaN=L2Z(A;P6lF -,m9Bh8O@YuTGMqEOO0[9#'&>ASS#6kaP?3lo3&^3eT+UTK% -(nq`Qc?I^a=t'T&:CKO./d9V%*5p6c'2JsV#XJqIKc-'f6ASMGWN;Xi0UibJ-rO#A -7V2eW%hl5;;C)?D%i8ARWC]p?.H,8I?GoshV/0+0O_-8cBT!B&&5A&&1;/BJ;&+]\ ->RDW&n=Cbl'uK$6MGZk8"Aj@R6'*o.Ym)K2r`9fED0a[+(D@opSY^6QXO^*&6-7>2 -?,[-[&i(g>>H8aul,_u!/sB&lD(_$k=:3/VQ=oJd%og`45Y -Ih6'0WsLm!3J;e"&#&&LLoE?WY98N2LJUO7j8tIlP^fI&6pCoQp`bBaPS0^$d"r>R -1W2PE'#L/9TsD*W"`U^]6@;-)nAlGufNJZV?ol[b&E/a_M($$K5LX>rF+/L.r -C$MOP;1L5$ebjYa1gUSVDHD0=H,8m(3X:t(,fJ'%V?4[3@//^PKllVuX@lJ,+J -N%8:kCM&D(A2)"='k(!g_+k[QY/mE-UT/Y5+]9$^?ki]-'g[KjiK>'eU`'9.)SoA\ -i(aN-^utl4%`#dcJ;+9$?3VNk#Jd\TT\L$-qW4C\Q&/a\/;3,&KP9Lu&O?a8L4jB_ -lk*Y5&"r%o@*B%0kRZVZC*q4e@3uXr2K?P=2oF^ji=HQ.ljj23PCXuM@m1Stpj'f< -'.jP$iYk)5njk2)A@Z['l'mY@:&;O?khQZ&"q2U^q:$4WXBrN%]>&I -i@>@g%M41D0VM#NJK,=h8/#DW'L>t<5peq91AB-Z'qnOK+[-QJ.SqKtW2-dTW`n0! -[Rt)A;aM1'6T.Q2VMsXu'o3bC@<*4D=qDhK&b01QXO7k8l4bCl(-sD]i?3A5NYN^2 -'-q<,+VYB9lk*b@%H-7-$6&7Yb-MV5-Yg:D$;)[W6@r"!/r<8hRk!clcW-5YWs(WGAKmnP8W -pnXaTZ6EfqlKf@.3a.+LUecMG8CFf%>lh6WZEPZR#h&jljtgdNEq4mjd=P.bg(csp -GDG%9+]PD%5e%t26no_r_,;*.O;_Pp)I]3T!QH-GL^=&j#jJ&oi\%JF;Kl((t>+&0U*F@/Mqa%MDLoGc[#IZ#gVAe.3]:;/#65_+#&,edu76 -'Ho[e.o,\3J/0:l&O>Ui5d1Wh^'`f"$\8_%kB%>f2A'?n&KsD4+]K,+-kkPllHuaL -OKpVni'JSjNN/:gk>6(ki2-h=gWq,\-_;)b<*Si#?D[^0@9BAI"XFU:(ZAI0@13X^ -.4M#+o`VQ9!DjD;!"_W2&A[uI^q'uk(_cul&7FK/iA_H>k/8L]&A]\jJPbqg*`Kq/ -M@Y`k,e>40NY]JYlf-c:]:JuKjY;T(0lA_shncK[ilZ/r%HnZ^' -'OcA-+fMq[XrF(O*$N$2TW/+0PRV$G`$"gc+USh".LuO'$NQt/J;a`+DIn@/0*s0@ -Taj,[$p4W635G_Y6`:QHp^Nn9$c("?+Rfn2FYH)sj5C=W+WA[8-kS`A%$Lt9+VkVs -q@@!+d7PSs@8-p!4;@/I8KgDaT_o@0(_]2189&`JT`u&\Jk:o5Vp@2H5qij8h@'Ce -$UD!)L1Cnt2T:4qpOO"h@2+cXH8Hd83l*K_Z_.k<*'u7819`n]Y5f4Z/od)r\D^bk -<&PNQk'em/+RQ3#0H;\gC_fA@?=gP^!F?Ik)@iG\.&IFE:;EWU4q[ks%&!M-YrE-, -`Xq)i&>8_/.]EY>P=>=eJ,8>7TaJUpBJ@8'K)4'YJGa#eQ4BS9 -$D;tU5^E^OSdQ[R%"R")-E%OE<&]Pj&-d4e!8n;Oa:"ZP%05L&_#mUGC,c4i&13'G -TcOd'r!r&Pj!KN@k&M"6%MBpC1Z;(a`>fSC3cr=O%&"RQ+\G'+<-Hf"kT_QQJP'1! -kV9mp%fjrap"g%+U^SC2'-TmZcF0&_%M&RY8>A:&VsY0hYVHdn8O57"-R`Ep^e$F& -pXUBXK#UE_?=T%X+m>H)8ALf_<#)-Z('/FllTu7Mlk!nq.];R2:ii6lQ#rU6b>7li_<,C/1R+>_MK_1UkYH]DtK11SrD,6ZK_EgiY/>U89?7";Ka@+ZhG$![e -+ZT2GU.oJkN[@][?Y_hW.n5;*m#=`S4m9@'!uWM`a!EGfEgJ4'16ukQ/;pjI0hp:7 -E(3]`SAW0,(L`mRJZ9Wr'H097)M,sI5n4*,D]N6_Lqq4E!:5tl*"OL8%"P8`(#fUO -TEi8U$)#3GT]cnP!p*sC&Ym2R5i`A>`XAHJ$t-p\OHl58Sdthf%j:O"_$63H%%"Ah -^.qkq6]O+s#k2A^'SMK>2s(bs+qVQh&4$dS -'C(IL6%BlIVAc/2)PNo1Tr8mGX;1fO#,$PU+Rft.n-rdY0-KZmi:+N)e-k37$K/]+ -TZRaPfF3;I$K.!Q^qUmtpuF^6%dqgSJ?fQU_@@^JpE8l62m/$%g.P6!]\!CL*X -)AO]Cl@Cc%[W,F.#4&&dN,6?^b<5cU`?+,4+)e+W4"!Pa,#h)`dBDE&fb#:h6r\Eo -YrbL1*>kku2CX4^=m/d+_@D6n1e^@)?YC"-JdrV$1`,^p(a4jh!`UH/?A9Y9=5eHm -kE[\Dmdi9b:IrP[`XP*8nmf&qPD((L@braD`"gPI"[Pi/8"O,uej,*B0^=tG)ibW6 -L_q;:)HTfTobDU2Q5P6S$NNL",GYjcj:0Q0Pb@XYT\KquX:!n"$:*#M!9t%Zl4+PF -$in9UScB2We.#g4%"%T[9HKIM"E:=g]jU]N@1X#j&3D$J4@&Vf5n)j%MEG/=&dJ'O -!DA(n!YbYl&uKY&7]?hd0+EIR&LQ'@JL@u(-kq&(:M2Ws!5ZXI`X>&G%]5$p5p<+6 -1L+?4llf$B5sF_1*YY5H'/VADUEZ0gFj!@cTBg\4O*[Z?BIrV55V^Cr+_"?'e&qgX -;AidU3\*;4PSV)['0tIdiC#)g\"^fW7TX?<_'0QoL)48Si^$&,5oAnfg(*'fRr1># -*^?[A]gM02;M*<"BG?+Ze'Vhur`5T;k]GR7JTdBpCGQrfj0*PUY-,\QH"9/(Me=)Kdcb8u<8Z'e5nZZ=KBuPjgri=^/pne.@!6EBWtShQ+R#^KT`@\m<)? -"9SSl+BXqf"FaGfo-%5kQ1Gq7a-IAI``3aJM-Df,jb[MNcK10u4>uSH ->#ghV5tk/jAJ%=.ct,"r<)D[*:/hr33D*/4jO$.eP,.o&C7;#r3boYrZ)VLU7^:BN -N^9$h/e92J`\EL+nHM/f"/+@$M?7Ie.LSTLco.RB(sk&j,.Oj0N'c100ats-june. -aR20Oj8es=OCSXp5nPAN'L`W.!>n-6A&YU7&YsC`7$*'.&kJ4..6sMi/LqH.P,)dp -6+j"e,"`MZYqf$%jA?=POn\ZB9blaR?/k_EsM"XCg`;)eqP\n@i\$p."RO>Gq"pN57Cf7A4QB6`&l/ -?^Qp0MIID69Vbt3Yo.`Y(GOfm>K>3lBNiTUEFGWd;^#L-9^IBP3NNl7*osT?)i4>I -'*%1:2=pbK6-uGc%TAi/;ZB0B"&NH[TS_Vs.)a3&(h75pNBs9qL8`ZA@mFpk&Y:ib -:sBFlTGN>:n/?pUG?0Ve3/3O-'nY@V$3NZ*,6Y)J&u'6'$'otM`!D>86=i#/#]0d(Gtq"CJZ9Jh]_5 -#t[]"=c3M-CKa%!QbrDC9(?Y]*V5bBBNC7@mk$j@Aku_OOY;ei%oq'Af(WsH4OHR3XA"5*Cnm^#XJ/*_pLFW!a&$N,#G@n -k_g++Lej6995mK?RhC<07$9&n57@M*VguKD:E=@VhbFOXF)H.$kK2]J5,e -^(s%s>7Q6:Hpke%,>(lf'1,g"M1I'$"CXBo!`VbBJNG5S8?N`6Kh%##-m_9kR$@kd -;[TL-/J@>Oa0lL,F4-C2dmH76!-)^t'M.GZb1-8Ebr2]%*qm?];H4.1%.LI>"8['/E6V -?Qfh$"GCqO;40.r[U:1E=CDTrL@GH:qBLZ4LCkj178?L%-=nm!'#Hn'h`Y!fV(e]O -6@;\RZ!Smn"ohJ`TM5`T0VrAHX@NPHS>`\pifYOA9=81fFA*Baksm`LF!Ofn+QOW` -!e*,NUIbgo>U`)1RhimI@Z-SkHpaQ<%a;FK#U(H5")r7M+t,p;!A-3f!4C/@7m>Bl -@?M3X.MrIdc(O5hMmA8Fb'?o9,t%c$Hr:)jcJF9MA6poe;h]7Ir@0h-3Cj#Ug0sdb -9-2\+/]Hn,(4s2%Tgu>H9gbU@/kI4EO_efJCZY;IOZr"YR7Ym(EmdG>VjdhOOAD;9 -:Pl21VrjqR?lG1VQfh6aThe`t0h#]KOgQ'e<%5gMGT('b>O-%`2+DQ4)rm0%$K/,q -!Vfe*iM\jj.'aZk:f7]fE%hA:0nS@nK&A&/TjiW+0nX^5(3s^!#XO+WEJd:PKFgJ, -R<4bdGQ^jD".,l%=@+W -:rj)u";?tZ0N+*gBgj-X:Ii6iKdbB'(f88qr.P\[,9X[QW)X$e -C*9HfL59TFJ8#4LD2,Q7#/O+@&:"FU/HLAA!qJT2Mf=:s-j#2W!dH,F]$(5C-_Y>P -!sgW6:ca7(6A-P&KJS&["1Nph5Rr-a2h[b*8409gE.cM$(MK6FH$'6d8-GoC"PeD> -YsL&;9*C)o"A#U2LfMG1r8.B62"LpaMLbaS_0`q/[K6TigR&^@/ -PQWc56ASJHRPHKD91iSaKLeLaYYV*[IK`"s%?$dp'*0d3L6n]\.JljD:f9XFrZ"!] -Kih9GfMmb*YRQ+_T/)W>M=?/u2$A6/'<+2G@5421]S2_Y.GBi:O@03:G6D=;KW%22 -!0%+8Pqi'fKs:Q`.3P-r`Na.&&:#G3T`;u9;ii^G:0co"J^?N"LrFCg]\s0ej3L1F -bHfW'T#hB\Zs]fil*>jh&E*AJ\onM_iXGlkL!^c$aB6^G/?$.=]SQ8F>\fFC3=L0s -9[LeHEiY1]gqIIR%"*+7MQFbSi[&qA"\D/e38,\#5XAREa0^5IjF'ATmjdncK\B"^ -[(h:H98.=r/$N\X>_\LTB-;G7LELI=QuE:dD1s)`!H99LBK(RBhudXEJqtk-\1.QI -.kKU.JrhSe/K9NX6j/$16=VVa3(S^Y8!d+o -Pc@D@nOSn3:CEUc(?iMdRbOT_JODarKQoh9pdBek"rFd?1iQ\cd'06tdtIpT71+Q>"GfBt>"]bV;[hSb%A^kF"\16c!lFX[/SCH[rAEP_@rC*./OSE-W -,ZU#$fo[QHS],QH3n_=Zp -5H:AZ-WpbIg#:/sW?6ad[%QG?pu@'FO0j_q'FUCtE9#UhrlBa.sY#2j8$BPRh)DMH52!dG=Z -5Wo4,*s8jWa[&r0O>[2[3s38YK?ujd5XlPT8Hc'h"?Uc6ZZLjc69BQ"KG/MfGXNnl -EJ*NuXS>6fP3!KP3XatK8)[#WZ%9$b,qbqI$ZbCPAXXEs8d%]J"M1`=pe(``G6I\1 -_BW^r'd82X5DjDNQMNCj85;1<9>j(eM4hARK'WV:8f*R`%+*7_5hT-&SsU1a3YABg -@J-5uYluX?*.!gugJA&*=<@h/KitFo.,tIR5_H"+K_SDuECGkD5a-U$"X'On&X%jB -7tb[`7$?qjO@"T#DPGcP$kib2Ghoa;a..R":90bIKuC'DEc%tVV/JDr`.1g$-L"e8s06Bd,3$'AZP*3gPG -BN>c@qk"jHh=00k>=&d\YV_HG[">3rEj&Jj6*ua,V%D_3+B,<;uO?/eSA8L0M#9$(;)3+iZfFuh=SIl8i8KB>[C;n=-n -'*\m%>VDsg3@Y%aKnMRBOOpjCVEOT["W1/AE?=(Q1*=GYRZPrT'37W(<0XFa`'k&( -`8fM@jt\4_@fCC$Ac-pgYD8?H*>#uHeZ=uc]s63K84".2%MYX&D*8iP*b -KP\C;BgAF6[1'qIXh?CBo8u[sNYuo(/lWnq&=8&J1P?UB"`R?BW'UTZK`^Hj!cTCe -R=hYo,Y=-'"Z`&4@sdTN:5%7k8X'ksU>Cqs1d_:.bTQ=6o9M%PRKXR!0AApSGZ7hE -<3T5r+4:%p=e`Lk=^f*GShNtELf5*@0nf_6fi^bXo`riP6Q.XW"VGDN&k[i(dY*uN -"+=g7fL'/9;!N$Q[&ZU@H,^HKr85'N*0WRcYo9sFq59*W.,(/^n]8"Z!"fh,&ZGU< -jq0"ed@AV0f)['U_E -4BTG#:e8YjEMXsh`W]BONoU`^n-5P1tgS^$8>,,TP+OcCNKkZPh9`DcF*qs.L*+o#)HgpQt-NHsT-l6P#r"cF(n$lRG+7Ej2edks&Ea0&=bG4u)?Fs&ml3iR -7p3&l/\DZ'qDG`qV\s/@3GqoOZJs?369i,VMu:/>GWh`c/ct\dJoEfVj<`jSbaFpW -3VZ7V`]&RF!sH-!32N%>g>UE'BbY5Y@ll]>.2m5f?g(U?'p7mX7"sT3drb`NToPXs9-_kWL2!648=="@tP) -paUm*0*8oOKB%&>n=-=$][4#7r<[RWfm*_2Ig#L*eB:G:!*"Z.J1T5#os1E+X[\e@ad!4L?EI6rMl"r"R7a>UC/m<*qQ3i"<0rlXm<*fj?7shd)EQ\m8>TA=G.Of9OM"o'X0rc! -[`;"Jh.P9]NI?2a>:gVkHih\s&XocO$Pc:_(pR>JQ7Ks!ok(X:XHmWZPWEWc=j\tO -"_t__YZG:6lK+me;kI.Voe?V^[9jSH.MV0EEkPMUd-9+!j]\KWUf+1Vb#KXB6RRmB -e1(UtJNTGs-I^*`,'c5<9I8-OM(3'lQVfFTXX:6\h0UZ[;7bRuZW`AZ98R1B -L7l%c0+J(ToJ2>W..U#qjT.21Oi0Nu7ZkW'-;'Fh5la03KJ=**&.n1n5nG:Z#7qF, -&I:Z5_oVI7OT]qX8!69N3)DZSiB6QBK\83R8-Ha[8eOOK,"P%rE?P^RER@$HP(Ygm -3fg's$pkOo.7QrA"'E&`M^%)P.uWHs3(K*a#l$[u,hpO-A6+r6),=5>7F;E#sMCT-!;9X6_qOD9G<)q-q=h9YhhC$6m3mR -cn5'"S1'7DD/7l0ZDsT6p:4eO/F$)Y]dW!qH=*\=8u/)XlU'7+.r47eD5]#&Na*?r -R:jgifmddlmi:WYk=gsfTke(>$*5-R/V36[.?V#HI -=I+ob]6ooD[SkY\:)c1=2D%?'rP9KONI1eSJC8WIST7[^.KRZDHmC)SFUW;2m:_6.OA#'$GU*%'pO;Mp#2 -:a?EY:p_U,K!=lC'dTIq7$+3A*^u0$8L-nq6l?=u&HiC>&J,OO#XWQ!nH+g`j4ms. -&_(MK:HELK5#.7l8f -d"oc+-n8Apk9g>Q68S^Bd%;c,']a(-60=>j&\su4a,Eb#&PDq+8=Xl/A4h\e?8Dei -d[!UQY`2M]2Fa@d)?W\,T,Dl3V8I!e,@kYMJG':7W&b9:Cbu>]W#%hD'2LqK80O)c -+,!jNEP`U3U&bW\*2n]++sGnMoJkoak^3oX$q1H\/1/=;\o`^M*[B^i.o."KFojp" -W6m"=dQ->$,$7AAG<-m8Lm8R4?pP*Lpm?ZC?jiZ1,R)!;,(pM[&]-(]V,8ZkK\2b, -W=VPEd4Qfb^l8ob4A?hd!;VR8kqP['6o:$"-q)bL7n6QR5#Z\W<"ZiZ-WQ)2iD:rA -+JpA5!C985&hHJPqc';a8dNf;+[i&S75hQ`=eXMU-(uLj^EBM7L6TVlJ`W?!lbWS_%mD5D_DkjpC<`H6bn%g+rion -@0GXrR"e"<,Xi!*SfcadJ&4MH5<1G.,gimRSo17P2)-D4nG5Wei_B3)5p@P,<@`'' -bX2Yhl6\otN=_fU5madr(]oLm$R&V#"L,faej+dg!V,'(5r+L!(m7Sp0M%%U;iHBO -n7coTi%ZGlrnltd'LHb36?,(L>(bpaWg&u'&PsmYR&:[04[]W4/96G1^QB<4=:8PP -XHemR'uG&Y#D"-Ll9dp>jAGo6"1WCU=Lf0?kWt%[(aB0VSi`ZL4G^6L*Q)Q2&)oE? -MK=*b%+qji.qNKJEm8Gn,:8C=A,m//V<)%`7<-e"q>f] -K%e=#'&dD'HpM/Z$65@i3ac'ed5EP;gBa'$khku@'\W1F[nISior -4EuRIbo/A$BFP`h/V^X>)JtdH%C*(g#)LPBUHEH(Tq"%H5eIUmj:_U1L_E+*=UX2Y -4p]iB5m/$U&-;kGi?oTe_r;sQiUf@Ei=7#9Q4OS*Cd86`q9^8aPe,js*RA64-*lf) -&`PW9Lp"B8HNYR`@N\+O+V-V%30Fok7g0.5g`=@!Nt)2(.>8n7&qY@?%cT`>#Or7W -6s_-._J4OV!?*1'$BGj0-pWU$S<(/Vk/u*hUm?T`R`@Zaq' -0i9,:lVKTV7lbKtGZi"7E>=)TG84:"e2-nX;LAL;?`IEfm6Qc>lOle&J0&S8%.6%FapCgAaVm1cut -O'JNb?41>aA8CFBMY6:E0Dd)(6FthUVMLt\Z]Fs?7H3"\*&qX62ChfE!Fuo)+;M*H -+@\gWc+mQBB[e2EO9I0YkK\W0em%0>[jlpba>elDb$lsh35Qls,D;.-&;(1A,@kiQ -Cc"2RVFP8qlE<0.AW"7F:_M`!).B-CmOI5Vk*KTCia^UZn=VtEBH"^i)I]3U_8I35#@3uUZ!"l:P&@!3Cl7rpMUn+1p&&@$2_"\LM*"ZNC%\V_f -^s3X&/eF]<%"PVj@%mur$qgU*9jn)9@5_m+Wc16>EoA34@4Dpd(_J4R4QDO[L*i"7 -DA'iCm,n1c]<8:hU+L!GW>LkRCr+'B(\Y_(ZRZ0GGn7&[#HUG[$6[f*I+7n('"` -eh-uP(S[AuaL3`W(bfP=Ni=?bB]'[-AqKM=(!XN1iGoY6DA_\S/7E"qE&RkP^0:VQ -25q#uN/a/Yp\Rd,g//YfsK -_*";=e@OU&Uh?VAJX@?n,eTo3Q_C@DL;FjJW#B*7]A^2b@C@,kWYrXY*J)i[@0R"Q -6j,bq$,Fgn^o@is3,kQ<_#X6?ia*-EXq8D[%^=.gl,7l*q@?!"qSN=%RAGNJDS9h":n?.%Udip -i7nk%%M=6r%qIX4B!-MI2A0o;&A\\cjI-^T18=ja''qS:.UXt54Lp%p4/":FKnpDg -9Ho8^.-#V2!EPCn4ufN:3Tb?,l[[j0G$8L*P3:%(_,M%bQ4b?+2f[7[_+o\[=>hHh -'qoLZi91W'ZkPeE:=@:_!ANu)4:U68&A]pm6"3Z04u8?91aYoHZ7rJYr$hd&,-TGE -V6C`pm/P=N.\``iO9/fcg(s6)Y6*(/L!:pL?J+`M/4-d!L!CKGXT;oa1GX3'%G2JJ -C_X^!(kHK=AcGH`MZZH5me/(-4lA/_>s9>i:7B,=@HX&S;^X)Ta']] -"^,u9=^_"8@.Fg>k;Fs6&MA*EmYa&iSIONH%`%3:@-^u]oFGbO&B*e[i''lI2''?>1-P.U[iu5ch@A5JA -!E/T#OW?%r&O@m.75S)@HDi'C(!od06^h^?gtlKn5UC`=Y\4aq*##"T%g=+c/DWRf -1fU5f+CSjr+PmObrY.Xt7Y*<.j/!MI3Y.nM%KPQ$!?MpV##K?Wg_=KW6NgSuR7BuA -Z3@L'aE&e?#`&bh/`OYFU5[\mr?7pi(IhcVpor0"B'B;mu -iq)d<27+Ls8/aN:g./:]PG=pf@58L73,+#`'2B6'cDWd^8/N]!)A`[ -'(%5sA$cpsF$:&mgPu&.,nd0il?7_*C5>c=#LYQ.J5f%`Aco+K"Z2EO8l.,>Lp;aN -6\Z;+*Y3e`&n*tfA#"heP#+,[<^A8G+M\J<2AJhR'#?W.#He\:C(GjZ?/ZJ2@7i6^ -=Wp77"&2^0C@`YAE@IW'CBDR5A\_TJf[a*;0IBED6O9k":5d]M(ZNAi6$OpN6nCZU -8=:),K%sVZ@P*2Kr$C\XAb''lh61LPPLZ -@W*[Z+Lnpb,:[+*UNJ)GiYE(`;pQ`GbHc6Nh,8ha'EbQPm#LA,KPHM]ID`jmiA)-6 -KU7e'5)FZQEr%u*rbNaZ]EZglJY[/!Zl5X$)ZcfS6+S&P^_m/^$t*`N?sEs[HjC5M -%$:T%_!bGp1_3Tt%UeZ6k_@+5W_/e((i%"QJ/ -`"3;aZ3pZ4$:(HqTUlJJRL*Ad$37FAA7%>?#S0sWU4CaJ!:^_qdsn%5%H,;7!4iZ( -G@dH;(%s6m_&g\\&.skc&['X3Qjcc6%33Uo:^_g&oO8OY7]f=\n;_>"bafhU%"00b -5s.Zr4?4QOn:;Dfm.sk@9GA3K-K\dnQQ4MogIJ@47Z?_pO1C:fK9$3YOBDXB8H4bC -[+3T"N.ScO<-BlE(J.LI.K\Rl#g&6F3%+kSgTm8[``b?1=S*=.KI?uJ7J%=3fJo`] -6((hd38!"4@Zf]#LJ9ua=#Ed\0U"9(XWqp&+^?gS>WBoUZt+,iADC&@3WToGT$RQch/Q;/utKB=)_cBb0&Q:B.TQS/L:ij2T(W+f62E -^)S<5)F80M@"JSJQjhp.#lobeTUlQ7g^V'I%U'h^+R>ZY#rQ,\38j`pT^3/]k_7sN -Tto(c)Cp;MOpf(4$D=+"TTTT=NX7t<$,E&;i1LD7S-l(-$Z#AEbS!O`rXPUP%"QV3 -@+5ZOmLVY[%Nrh"i2V&&YR3Y4%a$O<+RfmB#g9V-W$+&1X8!;qQKnrU&OhFOm1!TL -:1f=K1uV=H8#f(Q/p8ktL9E[LkL$?-Krl8a)D2_QUQ\NOENZ1UBn>9r72)4__8*!Gip'O"2>&m?Jk+rNu,h@1@<`D4$-kA;k"D<3OQ4&tW,p -16Es.(%=+*,8>^F?@rVd1_7!RR+VLs/;,KbOQ(*[$]=L!/%Tc4:\QS2!Es%X>8W7- -'\Sp9j1l;Fa@W1T84j"H,^g65;KXGnbFq$6_4#4lQ>>1!Q9h@]mP2ILfPE!aCa#I; -iN=*8YT#m8)@!cgTsPfUi#VpU)aQq$^h*f/RLOeWmbj<9>_WR#PGFkO$Ga.[F.Nd7 -"+L,>&n;lUQd[7iaqVc?!IC1T0& -@^&l^e;@B!NB8:YVUHu)WaRTL9W"YLa],5tS51FDBf*D<4J#:od]+&B9sE&X1an>% -1I\+eBsh.3G,n?3e>Y;D[3hA;Uss4hRgjPYEkpFGf4iJG/&?1+&rR*ndt-l8:F2fYLB2j1J``ar2$RE$/K]IeTAko7W3ajHt84q4,A:e,] -QV4.dW-!W68>K38Q2T6gJ%i(:Wmp;jnng^d:X5.1<0B[.V22-OWm@uV"KtorI7beG -;H4EB#sqN6BHdjb_(\G_<'.$U:eQkeOUt9PE3oaFPpLEX=$^DC859_KON'JJ"\D<_ --RALK:(mbe(e'O=aQ>LE`0i_b'[OWD%@0l]?rrYJR:]SH0)8sYQ:73T=r*s6Cg0KZ -A;4>]ZF$ed(Bq?f-qY+o[3ugP_/`gTL"ssZbd(Ae0hYF*`*AWb"KaYM7F][jQ_iY_ ->Sb<#G$Yu+m)M67<".)5(Id;"+IC(SG[&Sg@J=RMLZiGr/J -eL]`78hq*<=.j4N$t@aP8EW"$#:(OCT:o -4V"6Cgbt/0GiUfE,M;c`P/@!o.Z;1%VCINlfa($.j3ZpOOT^rR8[H_()3]>,n7bg>K$T?7-nrLPbdp)9+s_h8ROa'.9c/iYj"hX-7&lp9VDVV -)-mtQ_-6]f1$'lZ&0n^Y8/+j&8P?mR4Xa0J"X,EbO3O(.<"t#u6r6=/)(%b5KFn/$ -O4PgG;Ek=N>9=TAdP=tInuSQgbVIje+\WsUQ4]p0Zai9S2b?^kBe"dn40g,4o+d+uDVT.2!cA -1fpUFAFmd]Z51=@?OQCP!YX3mHta08+/*'lLakPZB73g]Pq#0An>@JQ>_N`ajQ-p! -Z50Djs -;&D"8.dPo;Q#`cA7\Ns'_dI<$0sXo9W7$Y/0W'gASi;FEh1+G!p,'E^=C&HUBI -#kiKc6n"$+Jf$cY_"]$GpjNaj#Xesn\;Wg(KFhSm4pQW)*Wr'Q%=u;X#[n\s`#*t8 -!TAtAAni=(#_il+mTbP^,TB+6gBhrkcYag_'Po/\<*]LW^s.h-7&7.ptl]Y -9PMW;e'Vk*i135`lA[eM\rrBEU\@CLBe$-6ErqUH"W!AF?748q0@S:](ZPL&<@?k- -'&l_'K#pWHZ3inEg-R#n^&Fq@hc8Vr;MZhDa$: -V2d%'5c7bZEm4p,3[]UURO0OM9Sp[::Emp.&^@g],*qpJ"L+gBAOpBl#g!s=Tid:/ -WnbUpF>[QeEuP_4VaeM(29'%V)e1j<%7/,u`sA^T5kGhEd'@HiOdH]X<()QEBHooI -NY1o^6O7J5+Jm;H&%A>u#I*kMK6V/@@DFpZR91b'J:7r9O>G!E!Hpj"Gn0r64U5re -*!;jY%jCj9L`mBS7)4t%!F.+.+J]f!3/%oUX?R!ta<\]Xi"<:\7>[78,(s?h&JD2] -M/bk9BJf!qeiFhslTQ]dCg.O70cWu0'0`=0YT`"n:uc&lA/8,\+Z$"5&2G/PLp3Na -U"h^8Lm&R,eJ],LeF^^lp*%>(CCd.6a.g%XMF>D=&RlS@LLBZp"?;\]@\LVqa/Xn- -8?YR@'dTTNP`k!+GgA$Cp!dWmP1+*R84e-%-9+csdkgbk$"g4be?`2U8n3G&9O"Fe -d[WbM$VZiQ18VpWURs06Xs1r=+9Uu,e%O]hd8J8m68eZ21MaXe1 -&Rn.%MSYf`##NaVUI$ckZCWnm[eJYuhVT(6Ji1QU]XQK-IrAc*2ho,o)e6s0M=?r> -_4Y!Ao)q+/d+[8cG`]b9(dj*[Xb*EpL_2rpQ/45*+u!\`Q\"YU#E\-kKEu`1+d.ol -]G2`a0RjS+_3bHtu&:G/- -CT<2Q(aT;AX,>nJAr8Pa"S=YeUmR=Tk9-suS!?*2OAuW9Osni^ -*URB>JLcW?7A;@$&lRXT[?3A$Q-c0XS -<925%de-_jb+b]0AEo_M!bk91I5)+#k-1-eg4a^uNDdKLaiLepm( -_Tn"\.uE5#XYC`:-i -iiWQi\,%qa//t`?D$J'rMD/b!fPq-UBS7cQJC#PD,$4ql14tF[KNjBR;G[Km7@Pad -KEDD]5XL,:9*>j'"<()_iqA$J5D*W$!l-Vp\\*Sl6R9GKQo'FT3!6ZQ"6`'( -fUE"Y.u4H~> - -n -Q -Q -Q -Q -[/EMC PDFMark5 -PDFVars/TermAll get exec end end -%%PageTrailer -%%Trailer -%%EOF diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.pdf deleted file mode 100644 index 609f88a3..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_01.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_01.pdf deleted file mode 100644 index 542096c2..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_01.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_02.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_02.pdf deleted file mode 100644 index 150943bc..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_02.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_03.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_03.pdf deleted file mode 100644 index 1cbe5b96..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_03.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_04.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_04.pdf deleted file mode 100644 index 2a8bfe17..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_04.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_05.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_05.pdf deleted file mode 100644 index 355ae7c7..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_05.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_06.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_06.pdf deleted file mode 100644 index 3dc40c46..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_06.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_07.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_07.pdf deleted file mode 100644 index 33ddabd0..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_07.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_08.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_08.pdf deleted file mode 100644 index e1fa845e..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_08.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_09.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_09.pdf deleted file mode 100644 index 90e87116..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_09.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_10.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_10.pdf deleted file mode 100644 index 8aae7714..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_10.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_11.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_11.pdf deleted file mode 100644 index 1ad89c15..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_11.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_12.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_12.pdf deleted file mode 100644 index 63166d24..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_12.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_13.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_13.pdf deleted file mode 100644 index adfe228f..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_13.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_14.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_14.pdf deleted file mode 100644 index d20fc082..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_14.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_15.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_15.pdf deleted file mode 100644 index e72fda95..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_15.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_16.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_16.pdf deleted file mode 100644 index 08e5d1dc..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_16.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_17.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_17.pdf deleted file mode 100644 index c34ce9fd..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_17.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_18.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_18.pdf deleted file mode 100644 index 016079cb..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_18.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_19.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_19.pdf deleted file mode 100644 index 8bf2813c..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_19.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_20.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_20.pdf deleted file mode 100644 index a98dbe99..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_20.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_package.pdf b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_package.pdf deleted file mode 100644 index 7ae86f8b..00000000 Binary files a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_package.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie-tg.tex b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie-tg.tex new file mode 100644 index 00000000..f9fd5156 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie-tg.tex @@ -0,0 +1,14 @@ +\documentclass{article} +% try all combinations of wrttofiles, !wrttofiles, packagefiles, !packagefiles +% try other pdfcreator settings: pdfcreator=pdflatex|lualatex|xelatex|ps2pdf|distiller +\usepackage[wrttofiles,packagefiles,pdfcreator=pdflatex]{tile-graphic} + +\setTileParams{4}{5}{duckie} + +\begin{document} + +\tileTheGraphic + +\ShellEscape{pdftops -eps duckie.pdf duckie.eps} + +\end{document} \ No newline at end of file diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie.eps b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie.eps new file mode 100644 index 00000000..a24c5f02 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie.eps @@ -0,0 +1,1004 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%Produced by poppler pdftops version: 0.60.1 (http://poppler.freedesktop.org) +%%Creator: Adobe Acrobat 8.0 +%%LanguageLevel: 2 +%%DocumentSuppliedResources: (atend) +%%BoundingBox: 0 0 400 300 +%%HiResBoundingBox: 0 0 400 300 +%%DocumentSuppliedResources: (atend) +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 3.00 0 +%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 15 def +/pdfSetup { + /setpagedevice where { + pop 2 dict begin + /Policies 1 dict dup begin /PageSize 6 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop + } ifelse +} def +/pdfSetupPaper { + % Change paper size, but only if different from previous paper size otherwise + % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size + % so we use the same when checking if the size changes. + /setpagedevice where { + pop currentpagedevice + /PageSize known { + 2 copy + currentpagedevice /PageSize get aload pop + exch 4 1 roll + sub abs 5 gt + 3 1 roll + sub abs 5 gt + or + } { + true + } ifelse + { + 2 array astore + 2 dict begin + /PageSize exch def + /ImagingBBox null def + currentdict end + setpagedevice + } { + pop pop + } ifelse + } { + pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFillCS [] def + /pdfFillXform {} def + /pdfStrokeCS [] def + /pdfStrokeXform {} def + /pdfFill [0] def + /pdfStroke [0] def + /pdfFillOP false def + /pdfStrokeOP false def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfPatternCS false def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def + /pdfTextClipPath [] def +} def +/pdfEndPage { end } def +% PDF color state +/cs { /pdfFillXform exch def dup /pdfFillCS exch def + setcolorspace } def +/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def + setcolorspace } def +/sc { pdfLastFill not { pdfFillCS setcolorspace } if + dup /pdfFill exch def aload pop pdfFillXform setcolor + /pdfLastFill true def /pdfLastStroke false def } def +/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if + dup /pdfStroke exch def aload pop pdfStrokeXform setcolor + /pdfLastStroke true def /pdfLastFill false def } def +/op { /pdfFillOP exch def + pdfLastFill { pdfFillOP setoverprint } if } def +/OP { /pdfStrokeOP exch def + pdfLastStroke { pdfStrokeOP setoverprint } if } def +/fCol { + pdfLastFill not { + pdfFillCS setcolorspace + pdfFill aload pop pdfFillXform setcolor + pdfFillOP setoverprint + /pdfLastFill true def /pdfLastStroke false def + } if +} def +/sCol { + pdfLastStroke not { + pdfStrokeCS setcolorspace + pdfStroke aload pop pdfStrokeXform setcolor + pdfStrokeOP setoverprint + /pdfLastStroke true def /pdfLastFill false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { + end grestore + /pdfLastFill where { + pop + pdfLastFill { + pdfFillOP setoverprint + } { + pdfStrokeOP setoverprint + } ifelse + } if +} def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +/Ws { strokepath clip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Tp { /pdfPatternCS exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/xyshow where { + pop + /xyshow2 { + dup length array + 0 2 2 index length 1 sub { + 2 index 1 index 2 copy get 3 1 roll 1 add get + pdfTextMat dtransform + 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put + } for + exch pop + xyshow + } def +}{ + /xyshow2 { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval show moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval show moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/cshow where { + pop + /xycp { + 0 3 2 roll + { + pop pop currentpoint 3 2 roll + 1 string dup 0 4 3 roll put false charpath moveto + 2 copy get 2 index 2 index 1 add get + pdfTextMat dtransform rmoveto + 2 add + } exch cshow + pop pop + } def +}{ + /xycp { + currentfont /FontType get 0 eq { + 0 2 3 index length 1 sub { + currentpoint 4 index 3 index 2 getinterval false charpath moveto + 2 copy get 2 index 3 2 roll 1 add get + pdfTextMat dtransform rmoveto + } for + } { + 0 1 3 index length 1 sub { + currentpoint 4 index 3 index 1 getinterval false charpath moveto + 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get + pdfTextMat dtransform rmoveto + } for + } ifelse + pop pop + } def +} ifelse +/Tj { + fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + currentpoint 4 2 roll + pdfTextRender 1 and 0 eq { + 2 copy xyshow2 + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 3 index 3 index moveto + 2 copy + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + xycp currentpoint stroke moveto + } if + pdfTextRender 4 and 0 ne { + 4 2 roll moveto xycp + /pdfTextClipPath [ pdfTextClipPath aload pop + {/moveto cvx} + {/lineto cvx} + {/curveto cvx} + {/closepath cvx} + pathforall ] def + currentpoint newpath moveto + } { + pop pop pop pop + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto +} def +/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { 0.001 mul pdfFontSize mul neg 0 exch + pdfTextMat dtransform rmoveto } def +/Tclip { pdfTextClipPath cvx exec clip newpath + /pdfTextClipPath [] def } def +/Tclip* { pdfTextClipPath cvx exec eoclip newpath + /pdfTextClipPath [] def } def +% Level 2/3 image operators +/pdfImBuf 100 string def +/pdfImStr { + 2 copy exch length lt { + 2 copy get exch 1 add exch + } { + () + } ifelse +} def +/skipEOD { + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfIm { image skipEOD } def +/pdfImM { fCol imagemask skipEOD } def +/pr { 2 index 2 index 3 2 roll putinterval 4 add } def +/pdfImClip { + gsave + 0 2 4 index length 1 sub { + dup 4 index exch 2 copy + get 5 index div put + 1 add 3 index exch 2 copy + get 3 index div put + } for + pop pop rectclip +} def +/pdfImClipEnd { grestore } def +% shading operators +/colordelta { + false 0 1 3 index length 1 sub { + dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { + pop true + } if + } for + exch pop exch pop +} def +/funcCol { func n array astore } def +/funcSH { + dup 0 eq { + true + } { + dup 6 eq { + false + } { + 4 index 4 index funcCol dup + 6 index 4 index funcCol dup + 3 1 roll colordelta 3 1 roll + 5 index 5 index funcCol dup + 3 1 roll colordelta 3 1 roll + 6 index 8 index funcCol dup + 3 1 roll colordelta 3 1 roll + colordelta or or or + } ifelse + } ifelse + { + 1 add + 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch + 6 index 6 index 4 index 4 index 4 index funcSH + 2 index 6 index 6 index 4 index 4 index funcSH + 6 index 2 index 4 index 6 index 4 index funcSH + 5 3 roll 3 2 roll funcSH pop pop + } { + pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul + funcCol sc + dup 4 index exch mat transform m + 3 index 3 index mat transform l + 1 index 3 index mat transform l + mat transform l pop pop h f* + } ifelse +} def +/axialCol { + dup 0 lt { + pop t0 + } { + dup 1 gt { + pop t1 + } { + dt mul t0 add + } ifelse + } ifelse + func n array astore +} def +/axialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index axialCol 2 index axialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index axialSH + exch 3 2 roll axialSH + } { + pop 2 copy add 0.5 mul + axialCol sc + exch dup dx mul x0 add exch dy mul y0 add + 3 2 roll dup dx mul x0 add exch dy mul y0 add + dx abs dy abs ge { + 2 copy yMin sub dy mul dx div add yMin m + yMax sub dy mul dx div add yMax l + 2 copy yMax sub dy mul dx div add yMax l + yMin sub dy mul dx div add yMin l + h f* + } { + exch 2 copy xMin sub dx mul dy div add xMin exch m + xMax sub dx mul dy div add xMax exch l + exch 2 copy xMax sub dx mul dy div add xMax exch l + xMin sub dx mul dy div add xMin exch l + h f* + } ifelse + } ifelse +} def +/radialCol { + dup t0 lt { + pop t0 + } { + dup t1 gt { + pop t1 + } if + } ifelse + func n array astore +} def +/radialSH { + dup 0 eq { + true + } { + dup 8 eq { + false + } { + 2 index dt mul t0 add radialCol + 2 index dt mul t0 add radialCol colordelta + } ifelse + } ifelse + { + 1 add 3 1 roll 2 copy add 0.5 mul + dup 4 3 roll exch 4 index radialSH + exch 3 2 roll radialSH + } { + pop 2 copy add 0.5 mul dt mul t0 add + radialCol sc + encl { + exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 0 360 arc h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + 360 0 arcn h f + } { + 2 copy + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arcn + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arcn h + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a1 a2 arc + dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add + a2 a1 arc h f + } ifelse + } ifelse +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%EndSetup +pdfStartPage +%%EndPageSetup +[] 0 d +1 i +0 j +0 J +10 M +1 w +/DeviceGray {} cs +[0] sc +/DeviceGray {} CS +[0] SC +false op +false OP +{} settransfer +0 0 400 300 re +W +q +q +[400 0 0 300 0 0] cm +/DeviceRGB setcolorspace +<< + /ImageType 1 + /Width 400 + /Height 300 + /ImageMatrix [400 0 0 -300 0 300] + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /DataSource currentfile + /ASCII85Decode filter + << >> /DCTDecode filter +>> +pdfIm +s4IA0!"_al8O`[\!W`9l!([(is6Bl+78Qn_Gb"/(CNJJp&2[c'"q8LZ^qjDg*5Wp_ +6aCq1s*r\gWi%e0(E(keWpJ:/Ictp9`mSPM1Qi4-CS>8Q'c2O]o(U"TI`2_&CB(2^ +o4`UHbR_)9QJuMW$$J)Z"?.5.E#n:+kgsQ+1XBI,L3D*f7IaINT.O;%9Z:RgmX5'/ +"/A/V3(dZ!P?<&b;*:CE'rPc'G#U[Z.J@G_Gj- +fQG0P%n72p9>/ELHGcs$GDr,&c[nCX*hF#]lfK/3LW4ZCO[rqkmURs.+KAcfRs7tu!`G`duiSt6*7\dLDSN:oW4QsIE*V$f,:NGjZ)m?H$(]&^^,!S1P>\/\1Z^eqZqu&^fI3Nf%bCP,, +$KlQ#H4rhq3-/JTMru<0'Yh+_ +j:e)6>/H+$SUDA-D]<=J>% +-hZIsFC?oE3cH0G>3BZUSKoS+an0KeN(;\fj?BP9-6!iT^RHkLq5eqWmN<,IpAH2d +foh6IP)NNW]=e^H2]eamr+VaGSQj"CN(;O8fD:2Ian95Zrq>`K@cfiQ4U?YGG,XH]nMp8koOg`o:\.nm +_)Q0pkI(ufP-L?\(St.0hA%&O7%kYi5A)e5@Hp;t7="o"l50P?1C'eA.$O_47aNU[u%Q(rR(^gMfi5lh9l#\d^^h8hQLt5\K?+"?la>@BSZ8FIHRS"'pj&LSoqd[H0DIWp6CrCDH@*lkS*9F_-'\1Q60cLi +Mg3lDYWF8*O69[UEOT1^SucETjk3JMbP?/7*'a$Jf9uWsq3M$-m:XF5[P$(#@kRr_ +(e6juj&eJRp?,&st_U"O,c@bZ&r5/6(m]`kRZOZU0m@C00CusN,I\CZX^(1/ab&X[c +[nk>deDop3j5`7!7p*e@"5H\Sk&O6NFWTR>GHXMd1V_=$lYp4FPOeYB!@q0X[ +De=)66Z7!a0)sZ+6N@>p"U5,5#6kA:#RCYA$PNpV$47.X&J>Qe*#Te<*#T\7+!W?a ++!E-Y)]L._-n?r)1G^g.-9++H0fpsB1GSpa!(-bm#RCeF$Ps3[(GR$O+%;)SAnPdkC3+K>G'A1VH@pm)L51SAMNX +0fQ'Rc(R@9kFUnsrdW2Zf&Za@-K\%&u[_Sa=2`lH0Bb0nbge^i@)g"PEEj5f=akNM +0qnac;Dp%J.Tq>1-0!$;4A!s&E'!/9Ll%"PPE_>uQ^F20U8+N\VPgAlWj8t<[C3QS\[oYq`5Ta:aN;TQe'uq!f@\d1io +B+]k3(smlLOQ=p%J.Tq>1-F!"8r1!!3`7&HG#q^*EU7,Re=EG,m%m-tEYk6]@)(+3 +Kej@"8aC"^$]t;(R'Kp%uLX1I7-kXp?+t#2u0OJNsSWCe/K/B7ZQmoD2GVD'!@Q&- +gVK.Tp6c;i]n0H\)0G3XI&%">Z(+ALAiG)ih;hj&]9<:C[&;Go>k-b,%HF[P?#GD? +Y6_,M.lPaVU;NN+&>d4h0^(\J,@1M$)MS+]<9/KR]TcoLTD(eIK4@JWER$r;+p/c/ +l%S&.0tdY8eU5TC\k92NC+6ag@:iif_J+a#'#^qktQDR7bP=PGo/Z(BXjG9_He/BDE.qHor4W>>u)_Na"p+d(U +Ge[15"nQ8**L"Rc.j[!4%Vh(aD+]J#+t%OdS+[L>4IC#FYcWa[$f(Y[[ou3fd/*O\ +$Isc"sm@VF:LGj>KKbnGG^I)+D+?kc;&ma&5.Boqqos'uqQ&:7XVdMhhAhcn>kuI_ +>YeiCKsOb8=W^FoZEMi"+=pEeam3mWe'_.?Z=Z5iA]cdGQ*8c7&cMg9SnWLm&V@N, +f1/+3;pk>`"(E6-=hO6/^gQ#+fC:^\^QagM3rQkitVB!V6nc0i`]fI-ocC +lug[ZST0!:(F)>Gj(%#O2a@,\:o%Ya5K=TC6Ebe"=XL,*0(#Td^p +*X%B:SMkIgT_(?I+]AYp+rDcTQ^?!YpS.N(E$)mnQHp+CsE\M,Hm?G+AnKh"mZ-gG +Ki\95tEQO58%&MV-liP!D6:IXbOCbTJiXgl$;.,5(bP7o/mdr94W*`uCu4\c2Y3Ug +p)$!.PuWEkk2111aSh*-=4*OnjkP)spPANi[*I1Crqp%M.#5ntK9ZcNtF9IRAb>,I +IMKe88Ap5(#.;Y`tG4:(";4Yl:8cB\c:iBa)Q^/!0+.9Q`>QO(6f3WNP<7m5rYjVE +7eagQ"KOj\S`fc_DbcgKI^fW?%!R5g8OnOull\ID0D(N(6>^#="N(>.o%lIB#B)b* +0n1US^7Sq,Bqrn?XH=7Xe^B)#QU`:5l&`[m"[,^kA;3+TDF=MIIff1FeZLMZcklB: +p+?3moQ@f?-t^D8lfc;f+n?>e9K06ue.s1XpbOK\7RY3f-o=Nd;=!;Afn*X*KTF$C +n'8lh%'j)0Lf`@3AA]MUQOfuqGiN91lA>car%W/:SnAGPmscNF3hT]GfhK5cgo=((# +Ccc-;7j"WtFROBT-c=MCAhK.h1/"`Wu+7NoH1ecc`_:Hf.h.7++/,(m*g%l&eYNH+ +(MBST,R/R#g2IZs6hEP+W5aOto*/J&\85Uj09?%_Jr5Gs6qerG(u0O_CU-_/'N=3# +t^0""+#trlK"oDOV%IDc,8mpf78ZAY)7D77LYeEVHFZS+i$4g-/O<:[oEEcerN=Oi +q9ofajSaHQ$9n\<"h@/V$,H,LVut,B=!.(f-Cnig.mPf2g:fGbtVNN>YUD80i9@`A +^A%Q>;I4jW.$26CssErj=JSM&26n8tZr9LE<)Nq,@DQOU90iTV#^ll>]DVb)j&9)3 +6u23f)6-iFRs&;u@tnUfNKl6Nt7QjNAtWJgrd9R59E20Fa(8SiF'P_&.Qpa1Q_Wp8 +2\FZD3QR;[XJiW%k&gZQgh<4&jV$NP_mg"orf5O7AqZ5A#d@?6oU0*k=.Bi!eu"*W +Y!+*9;VGl'GkR%?(MMe,U#,Muib6Y-_qP,`FL;'gGI$%'_@V&qKN_5(jOGWkco(*o +%i`7$WEe+@*FE^a$:4X"^bn=J;"!lGZ?@*HFB,VPk\J(BIkfBfpR!VV1k?u@?Gfei:Qq3cdJYL7`RK#>\s_mN^r:=r2E)0Q8&XXXGdlS!; +slp6=M^+S2>#goiuia1[C\!;^A%fD?D$&E_uH)H@bD&oVKKO!+Z707XFVZBgcE$!C +d4gNfA\k!:-:EUdba$Q8W38>;U/hn:'[UIk6%j4DZU6.*)Mm8"ln6cq*]*!;t%GrU +[i)!'[cG=Y7a#N0(jR#QFd1JI:`iJ8r!kA.glfJQ(8TpuEU,19.ihn9N%Z^L,-Y/" +%P"7U0@e5K"*4!*YQCCf;OV@iTKS.QW3PJ3R3;RK+7;o+\Crp[0%&+4Gj>]M>c6O^ +VQT0@PrRrI;tk7Zr&.Y&NY+InDO&]`j$#s_NT@L +]TRn=]CVo_^-r/]ErB0bQ;pb4]5]&c*C]0F*emJc.Z[T5'U2hIifIa6Q!AZTWsf[j +85/1;;P491ReL;FgeS!uT#^1&6],h&X#X"FKD`UlS=U#[^o'a@FHJA0hI4Jg1( +J"!)ofKe_$]8aPO%FG!DF)C_E$BW-QmLVBC_rj/)4k1-.HLD'ge[n*bGXaWTWdcl. +.kk@CP?;)uqt],gZ^!B.9ef/(?*@P&o!##9T$bC#\"q[s?2U+-e5N5lUfrp\B*7dT +cP@Wa(kBl;@)'1S-DuMOlcuS^FdV/cbk*diO(UPXLN_l1Tj?V4]_Ha +qmrcSaH"]:>3j(f%f+$"i%0$;W$5.-"m*,0drpgXLOTF_I_<]JHBUM'=$V +LdLUrZKi!'$buB!SjrjC`]]&IAtHNp#mUVc6M;>XeqAPI,ZHJ"6Rsd``o@=WMZH[R +oe:J#,?g'ig&5;HX7e60%c?CEu"%[?a(SfVmW`e+joJqAF/2N0Gp%J2leG`dX<"!( +&W@Z@JrIFO/o>E2[fU9QM<[:N"]lDiu&_M*h@&\38Fd)KWp(Y4Th&`2V'F&`<,OAJ +p`%@C(#l5T*f$M!7f/+;3U@5fb1ZiD6r=*SGTZPKROX]*!]^<\D,io(Zn9DG"4QEi +1nQa>hEu2=<&!/`UJ0Jkd#?0JSH@+XkK4!XT!1[*uG4.ie(rGdd(W#Fo>bnbuOPE( +GYF55EtgmmY9+OF]d3MLf,J3?2r$O3l[&8o%'(KmJ]2am5,G1C[a/rjg^+l?A5$Eu-e$M4P'[]'lmRYi#p/.&;CNgJ%_ +IoIqOZT<2/5\)bqMsJ#ris9rrDB6,D[*p!8uoL3f\^9j&@3nd)P0WDPta?"-sh@+, +)bu-(/@].tE+mEP]UJJ0IJS$7Ntof,]@DC04u/hUV[4%Rs#r5%3@=rct/'7Xu?`O5 +\(hB&N[hN?U?jIuuN#2E$cAOt[F/C2oQ,JtmZ(gi8E@+FQa:d&Lu:D:*oBEQ8/GdZ +B7-'#B=@6oIGL6qXN.4$^9emn:$!Sj%-5Zl5)HKGrCDt*<-#2et3$Z0f +toA+CJ;m[#>+^rrA#Y3n^[h(9LpChPQ45*#=!nr.X=k7UBGXhe, +8j;+_?bTe"L2(iNpVgrrB/m&emDHS1>(>:e;f/7Z\+C(Q2+KTg("%d.Cau#kmT8U5 +!#+>?fFaT\\^q4\ubV5FE6Amp!<"Nr]P:@&XEles_OV +pp2&'UrS&(6gi(AG-M6&._-OjF40Ip-&j,_\\.O*$#>)Bm!(NP!;/GTrAoOiLVZ)5DO3cO]>XhW\1gj`e)$)n?&(dD%[2uB_@'[eFganT0S7 +eE5S:B++@=5PpcF9*]g%XQKM)`Z"Du;Vjl +u755F#B`LdA!G!;TX(!V?MG;8F\?/T2dO>sbOY#U:_f1^/]37`,s>-=GC6JT#TbQPG +5.Ga&A#=d[87HOKGPN:s9jdT3gF#P!C.'jc#:Zo/Hj?N)]O%Kh5)RWA[$V:D&H1`c +8Ki_"%cVED/cHUVr6`jFQkM@J)V?oVgWkUN(0s_NL\#$B%jqcPMo4!-nY(Fr;-t"j +DN'EP=O965c6HTa!Ul]$&:P^GIT=n<`[ +aBmjMNaEeI>WEkl)48"?nQTRO)dl@_tBWNQKEn,c!h.RHRPeapSI.,Z[f5[L`.23" +W!WpJc^Rp)JSTWn#NUdK9)+Zpj!"&j#+.-p%2_&?q1'oIk7M"gWk= +g)E+GlLR,;@huL!C4pcf%GU1I3[]8#Horfo:79cr%S;T-,)OiB(/5Fio0ji ++PsTh?MpB[PsQ/e5-ijKoBRK@HL$`+;'L8kX:Zg:jU#1NIk#4q7<bX-Ufdg5lGnT5A'?OsL*9qXt0a`A'B[86?HP,\ +Oi2rdS9Y=Wq1mFCGtUA&hNp+6I8^o/rlY'Jls9q@Apjj.F2=,;*;LKPdW'!LGor_` +e#"!Ci@eF_dCsZu`lP]2.7!FN;jR573c.cYGA"W\KI"O)B9&rh#`>fqP&m1ht,^.Z +LR^[SQ(Io?dQH\IJ8*jeHNsYGgIdgPeu22k3fUZFkJ:GkAfdg#-DhieeQ+;+i,GSp +,B"Pl#`cerpRB^p=<$j\MQKHr)OFJQhp1@;,Ss5pM>l,^r8ZqpZHrAISL1i9_Np5g +SK%Y*Wd^5P!2DJWAfW,PC:lhs4hKIe+0WiXGot4-2(tKOKFS$EA1B<#:XAnp/'iE2 +*Y`)6ae`B.*#k4fVf--j7.]8?'e;^cu1"!^A11gZ%\@H1gPk:Ch+t%2P4H"EM_Y.C +`bG-QTN\-+b\!L#\5T)@haQctJQ47f?D(b(PS%p)X/59(M@Rj+!$\QN0f%Zs[WWBg^4-/Yt4Ws!'Gina7QN4fUr=]F8?g?oE_TP-Wo?;"\8&'q;7H96%E#:5+3PMh +27RiDr.WV-BMMMWs%@E;YR5h8/DSWeHXIMmneYm@%V?-MLtE@j-*b0h$gp,#'jp&- +gs+FQ=k9[CbJgWU:cMeEpX_9NgqS_3@=MYRVBW"/jp\/2!VE='.JC9S@[Nt=#@)B6[VFm-&e(9D+9RYE]eD7Fj2 +qVe(u2%VC$F:foe1lN3YbM8m2C%`[-Ki:4f-B`M2V(+ZOo@>@rr<@.PK$M!;4/ur>T^c]!( +pBEL^[1Z=]>lca.)G$p`hpri--45__[?dTHFgraCmB5X3Ss,:E\**d +J"TrrCZK!`;SNQ,tQ&6?sQ#T!XQeCFNL/V$I&CiAi9XaAT6tLpnk0X7AYZ3Ce564H +H?g/d[sh83A=27rClDo),M!+ANf,%m4ghEO]Q=V)seX/<3KnH]C>.oq7FZ!Nlgnj` +5VeZ.)d!(2+t4h,Uq*q%.:4e21+,g^+';?ZIl"h?,fq$[gqs\NP3Trh$"e,::u^K) +fF%FMOd.7R:#_]XN@gGc@ejh@V#2(13KT3Z`SE\>YZb^u<`j!,R[gn8nG8O:$lBF9 +cJk6QkR\!--Kcoqk?YhKCuGULc`_:=9G1L-7n3r@5\$,V(EVABD)Br&T:+hj($sOg +f@AWW![Z+G%Fp=j1k8badFB672 +Q(jR!YiooCu7Y;C;d3PF[K;luD[bq:'TP*7b`6q,&;);q4ZI!%`^iP/AKc%$(EZ:E-R$rD +2NU?J'[`2^8`nW![eelppm=5S^"m]UD`JG9Rf3UOm_TcuDsll-=L*Z'I.@DEn!i_P +0"q^cl0m_U"B]3m;5V`RHf-_hlE' +GRS0uFif#'iD1]lkJ5]LLa)pm6IaEc(3)Po$YF5>5-$>LK6>kG[h85Am7G7E +0a)i:GBm`M1LG53>F/'o=^uIi%TN,`\aU,+.RhDuB,IB:G=HFm5)\psQQ +@LCa7b5\[.\g);[](QQHmTK!XKn\nq"jaTbYgsf3-J5:<;qZaOb?K-MMZ:XXPO`^a ++-ggDI+9=liW8,]KZ]L,_DO9bl`GN&_#Op$QLOjghbg16baTZ/9p^e2>PXl5(A6g. +>NO>>9X4[mFCIA"C?k:J0cGN/F_#bJ&b.9+*DR`iON%>`iP8a!fl*TQVQ`jscKFYt +B7=6aIihFQ<"rj"WlO"D'k&M.T-0THBQ"-&aQ$!V8*dH;q/q1>b/K%k#Q9365%Uo_ +u53HN*tX87mLt\E0+pO>57gYo*EgJO8dCZeN-p\0C!HXoSJ%lW'+,\n.bVQ=tn]HK +,8+;d:`UN&],W%f,/hktHX2.UuD5iu8S+@?]14r9+59<4(oA +6[ljVaHD`6&d@&o+_JOl!TZ*a_aW_>aKpWMO19KL2'J^h#W.,R$Dt2+X.Q(6]>^4T +Hl*As2*g#XOE8q2!*VHap*hq+l(n&[gR;L)d24.\5>mOqpUoaJW\V[0R:$BeJ)4 +U'S*/n:gX\.M;o,KN;54nbAm?/VAGLC?epfeYj%TA8SmN.Lfgfi=8C1KEDC29!J +Lu:)je9ai;RjC6tMX,3ggYrUJFmG[D)HKgsV$KU^PAj37!TT6]q: +'/TWpWZR(mQ66N06AhL-?1fO"@7sXc*cXrrCXTOuS'4/lX9F0ZA>Y]OrKh82#%-L8FW)j.5WAc(f_*:u0k:\\W=Zk3%P`np## +G4]MKgaWn&S>LZ:BRhNqg]ii6VX1RRnW8@KanE&9KllkO?GL`&C8bpd4^R7G3Sm-J +gHP_#87R,`Neugam#9N$r1j(ambB5E*18e,C(g"E:Ik7)1qW4T9(D#H"E?QZIHKV< +%HnP%Gj6B8U(:@\Seb:`#c^.-XRR=UI=W76';%(oI^/1hg):8BS#Q1'T8_4s#)"de +mDmmeTKYX?[q"`mRF"\Ao?CE*O7416O0$n8H9?Do+'KA`Z$J5%H-'r(T/XStsDm1; +&b#Hq3rf#DF_%]@1[\f[paEA_M>:F4BBTGuV&BKi#Pt:rb*t#LHqn$cHBfn,-0pZ/ +.#\-3ssXJ>9ggCOr()NPklQS-i3VkY5AQmh=/6$h&jK)jrtT?=hh:t)8H\7B/4Itb/DYF`_Lb+toC9_t7^\S/hmh4 +^,N@QE2fC^n#cG68]^!'ZZt:m"JRCf_#hh77hd"R#S])l5ON3OelB^GKJPT&=7RlW +ol?`ljOShu7.q0R%ooro7Gsp@fB4""3IC0ScC_T@U'UU[8)6YmO6*%S66j5Fkt^R' +,mF6GTY\6KdT4AqoHo=ga^S_Rd5$)[qK*:EP=4?HQu_UWmMT))6Abc5(S'/iiP,nW +2!2?:`&LV$3^D\;FfJAR9PB^oJ9G.G@n$M[R$>G8OhPq&3`nUrU]-q]TY'aSmDX/3 +ndKeB[Wf^N4W^*\gYITeVr^JjPKkK!?;90iMaZ%\#4GNf>)H\7!J']RPnR!Yd(gJb +R3n5Q+SQ6Z)n8<`T=IN?d5)DU*P*`DY201K^lCA$=+)1XGWk&"+DpnK#bl*/]6W3< +SlIl?,YWJlTt7`;mp`,[[OGUF:4/2[p=95V/^l6; +AuqT._^HN,X37\+6BtXPq]K_2m(SrrD_kgJl26!>lf=g5pnW_#[jdF27t*dpmnkUF +:!o!2m@"rh#HI1X.HV"IP;fBQ+2Rh\:ZRSgBU9NP+)MUS)Fadf`P^Yd-bML`A)X(a +Xb%f0>t.Q30.92Ygl387DJUO79$_'8F"jN8urG[i7l4$2K0YN3Y!nY.gPXrcA-[4;`.bun%M)qRrr/m)?7\(UG./@*"!>[X'7"f@2WcG)#RTQO-iX1K;- +Oa#*/4L#pK1haJ]rG +%5BV"Qa)mT&;7q4@NB+2iXYSICJI&%ohu(r6>ta8,A#5fI9(,CgW9@W@@r1%ad+/5c8=;jlH%=d/ +/.W+%9GH-[rEdsr8[u/D!T`*eOalKNF?9dFY*G#2%Z\WA?QjKDjSTp$:4A:LQ!-[0 +paUjP"7/A)5gYHCnVQ9)'@`VhJr/A\?MD,Le@RmdfeOEUSpZL:_Tt[tRL1`kE8:`% +MTl>=;@Q>iQr>rrCSLaeb!W6%,L1_jZm`U:_(O10\K/ekc`SKdHiA(bEkb,_O'Yd. +jq5eVi)+/=*W6Y[&E3`Gh/n#^deo?=L`'oUSCkM\GSI,*]>LcTcL.?m;&#t=`+5)L2p&pT![*9#>REs(/[\hHBc,K@])[/plVSf[@ +GjcFs[gA$o0dZk8uucK(@JmCc]&JX:/`\cZAp5)2o6E'k^1HMCIs@&V0;"&j!H^Il +d7AR/,7#V_u$Ji\5A*>iPH750,;f/b0( +mM5pl0cH=G)Xa@TM5=\rJa:I0DGHSlWNSGktE^4B1j@EC^HDkunklICE"cZ0USgb. +mBGOnsW3aDkBE>i&3I;J1NsOH-*p/aD/:&mI]TBJ,*;I2tTqq_`J+&\T,$=ZGHrrr +B6-=2Qp7Iu?EVU:)rnjrj[(FoGbGFfW$_?'2/iT"4]1+4@?cj/O;^Cif1FKlD,!T! +Zl,1Fr,s);Y+Ln>Qm3r20O:VDno<=,,[h[ou&E@psQ)GV>Y?Wu1>T;2h$:5L67l;a +V+]=N#Z)L)B29l92@3qU;?>$;3P3Z,%K%?=sP=4S:nkTLH@H/9/DsAoYX7PEVSPKq +jZ8ST9:j+)inu`jsj]*r$7=<`qOjV]EBA/\IZp)!jS%Scr\tM`q_"2mSWH^F8$&#+ +[(H,E_Qumn9'm%Th*EX!!gYlqASu$^*(TE+W +4Z)?(co7+.rAJ?tpV)L9#CYl6t7[Mub3-Jb/s#<4Sa6=k_d28^K"2fc.WkMFmchiE +JM/qGno_`Y8'-p6pE@@7lSA6J9XE361hPc2F\0$<1^4VsCkm!&I:HXej$$9d`_DXg +4S].U9mEZVj#G)QLqPM\Y'a*a.Zh7t0!4:AClg7r5@\Q)q)$&2rWF%M,PAJ,U'2EP +bm^..g_S+4?YY!!sPSq-e/*m>CoDKe@AF9_IcT?*W""')'13MICC&m2<7UI6XiN>9 +$p?&BOI-b.&NH"9\9YMX[Zr'/co-\:\ +Q:F7ZUe&A;E-DJd`F8"G5=+V'jNsOQ6UR(_1cmr(VHjQc.(s7S.'tQ!(R-P%&lBIJG9cZPi$bW!TCbUk88,1V-Wp$4<. +UZXmH0gHYA!Y;,.G,qjiQ1(.tcHW9NAM,err]m8KIqb#W^0c5?_M3m8Ql!Ji*U2:. +J'iYElq:bO;id<-T,=@"h\^!$*052>&HQ^/?,aM")SmWj'=oqAT/cia/$#M*<\1dD +pKoZr8`-l:;a;@umH8'0VC:?F;2ambcrhN%Uc+[._tP&Vb82lp(:7'q'R@_oI(#Dm +ah!n>cKg'L52R2("Y?3TUHdZ(Y[Cc$+UT% +H$BBMj!+LrT#8nTgCG05l1/YCnefh!4SFb+Xu&Q/3$j%lGUSZepeG$H4IBXc>W+k< ++70<7c3\n)3Yl4=.)`hQ=*@+X%g&D&!!e;G>&YY@Zd3aAuh[?=JKc0g!29]D)2XnEMC#FuXgU +RDX*R07l-'OOC5WC$!d^kc)Al@E?pF^pq8*ftMEWldCJ%C?!!WMD.+.ETrXXrVGX\7-/\'-YUuMWuWg53c4Q?e_cVJ):\b8.L +CWZ;"l6,UZl"V(@Q1;8T@5ugU/pJgtJ+L[8 +a[](a/JK\>Mh+:6W=%<3J??dOEC@5\"5eA"BH@cQB&!>WW4UL-B#!Gs+\]^7q4E+h +A-`$5K%EkW$g>QDo(CD.MEB,QSuM5pVN6\kGX8:g:sqrr*IK'9qA,F7Q1-Y.KrF>ZP69MeQ:Dr;q.ED^j7`Qm6O= +dA&ZNG&`79>4&O[2D]HI\D@PTRM+L1t@G@nc[*VHp\-X8%r!d#t4iQkejeMA9!POQ +;Ec[H+etf,'d"FP@]\Z=6j&AL4kiESCUtG;"oCacorI'Pj!Y7cAF?-CS?V@%Y$q3* +r8<%i(_r:Cq4=&^qBY>.P<&rr@1Y$5)FCh=.5##BG&2Q$K9`IQcG"D"23/gK]iq\d +Y`fELc*0?:j,e('M/ub(4^Z/-!#k7-U5 +mhp]UMWT7O4/LX%OfWiJO2$l-I%grPsgQ>H*SU)Jm!M_;rq@b4c;Le`flR./DaX>I$J)OdM8+*+\f/3:#EH*#W7qD82Ys=fD3nK)YgjV56s[QM\d`p"srdlTi1p#Odh(l@Nf_A>$/=+%8%He[ +4KA$jZ[P7;")-j7Zj8c/C\o:1V(P[+CM3YW+h7ij?)+=%eQJg9B(S[>XHWm5s2Q\` +bc.`j9*a[ZNgAO8eHE`=lo27R!)pW@0o,^T`[JO7"jsrDUU8)Utushd0L>1k7qD.d +g9^-&6sJ/"dq$Ro#BR]K,\F:IA1;p40bN!,g`dh"IlomGa@1mUIN/J%o:3XY0q[q2Xt];04g1&>B#on0L!%L."#UcQo/UN.!7eaG71]X?j +L3)7PS)e&Iuf9_GpMEd%JsX`"403nqK5$k6J1W3dt(TgVqRWkq0Td7.9l70ueXBaK +@B`>5aQr5uSJto:e>2n/Z[? +uVVZ7f+%f$UT;r$O(2';t@B;#!u1\qO22<3VL?n>sDIaPbZmB"%g`R)[>)D?gpHbW +[AeNE'ML3<8Npe;)"eTG<:u'TRmn26s/hA*l8CDAfo,79/V.0hbk>cUTP_L8A!eAL.< +_lOO[NO.5U4i +_'YkU;[,Ljd!H4(Wr^H=6aQ5K]p9F-#*=LLIb*p)N,^TQVSm?,R.&E[nBrr$ +Nj:o>Lbdeq-eM*3SBD2e+62)Q4kk4HQp\+r,(>Hh6h-Pr_UD9dRDC\eu>7B<`==b( +)8aF>qXX%*:8Xj7mo_*rLJPG#'dXl#@"46qTHA"ckYkoW%Yto\8MmO#e,S"bMc0^Z +19F_P\^tk.6@>!#+]Zr[sGNY4/6u@S2YOO>;sRFTDCu:;J6.4NI'-ol_k22WKrb$I +OtE&hIk/:98MtVs@K?fDQjFmAFWq%S>,ApCQ0mNc5oGt$$Z.l[T]H+Q5LQ4Z:)_R<^TD+(>&#g;sM[>&&_^i[C.dP/#Ym.pN]PO#e/D!l*6a9UTe=MT[%`[(oeB2F5J.JB4-Y-rr>[_+,^%TKk$=`\l>D!EI +BU4i.M$1+)_)YQ`Wd;09181QAX63*g!s,dZ(Qg$+IECe0iBsrHeoB#DWkCh@.5t)c_2_HQ0dDtKP8(Rn=s*$cneENf(\JI98#;(,EJ>L+4?pIq\ +:'aLWq;3N[d;*.u5V7`:4Y"T^+1q?uC)8iLp8R'[a7?B91U]Z/HHo;kDlMfHc"3)T@E^U$G['\`ZO^dmpV*!=:.]l[[uHT'h7TA +X_KkphN^58*mANm$FBS`6\s!AB9^Hl]-%NO^W_ZrNE(o`K+'q;^&=f$4;CI;Nia7f +],LO3NpJ;^WGH_S'jUiXUrnV+EhZ_]9@?[7*pdRq.S?%Q:8(bh&Ec!+T:!G>3:'D. +$S)$/5ks;,HWXJ%hmnPsT67X%Yi0K\OK +(k;JQ:DMm94MbGtkh)Xc-d3eQ,+FJT*-)1Tj=uVP%i!WAYd-l7#mVF&PP:q^0]0Mh +9X-ISddT>,*Ao1;;VqT;q.Min:2g8MX4W8<*G\ltW93=F`V.oj]j*FEeNL3ca=nHkDr)kt]&>P%qkgZB +.*cZNd!HR)^K"7=[pA-O0aY'^fUCJE6XcT;;^9q/`0(>.Na?4-ef+gb9&[=6W_S0u +tCkbCc(rks>ir3TPc[Pm/6=6*F>Y5D[:mUMG?sgrA9XkOSnjVWR#FbGd*AOM'""k@ +/b+g@1Zt\($iTS2eUQ\>HV;I?e>DFFm'd4;')VS9;jTIkj4qL-QgUD8tHjf5V&*>\ +F':63HbZItp([hY9YgOi.-apF;c*_>QXs.rn:+)V\"d$p`f1*+=j;hp_5"f"d*']t +=>+.05e:gkP^@cr*IJ-NbYd+]#h%rDdj4&k-T.^&S:Xq63UKl^FQ*-FpXDF+G$TGT +7AcJC]M +fF'OV/++6:1f(NQqEUT`OU+*ndXZHs`Z'+iMVX3W[2eBaM/U3RDi.=k%!c?Sk6 +HMIE&#o_M'a'O_!/gKl-XpG9nM-C<:ZAh$du4'N,_R]79N`\?sMkZSQ^n)Mh!<@A8 +qGdN:a0tP0,jcgh!:CT`bulPukmb%[#dg&Eu7B#&*kN17Uo,l,\^9cAo7Uj(JoJ44`n_+fH@tVpAjqe3dJc/O[iZ>c4Lb/NT+ +ko_"$'uRf7GO!MQV#_MY$/f1N>p]LP'PD(jI(-kt8K:df=^DM&:CC^Nf5JY,5P6c/ +I>44[W(n)ji9XcF1nCi`/OlYSd@g[?P.^Z7;[1:Kb#q['?(Y8O.+ +r-nP&8ibn8jKU2=DN0G\QY+LU=[A3rU(WQ";Vge+[?4:q8Ua3dPd,Y.K1dhL2_2\r +u4:W*RA-_N'-H0KPXP`Xl0SZ7&>A8'LTo1Gjgs,WYG=DVNo&ppRJYdU7Y\^Xedr\/ +SA(E\JMWMWQsg/P.[[1df>L5X15c8B(o*W5GcW,Z.:m1!>dQV-u9EECp`9Vg59H!R +4NbkG^8_p^(3AtBqpdH7ln=;FJP1q*iY#o4SS9i[crYN++r;(>nDD!NWo-/a<&2r]3*gI4riZ +1f\\aqZDq/*dg#s>ZTLUcTfGE]PcTY%i5CWZ;Fo%1kmX#-L-N:dS)\'hkP_MrD1[> +m;3X$]AFF3?FX!aCR`fM-Gt-7`!CR<]KV4XbH_FTKo+"6<\'R66n0_!j';1X?Qek6Bkt!*;/SXP"ammT* +X9<\$kg2>0A_ClCiBKUmtqWdu*F5?\CJkOU73AeH0d-P!Hht)YC39r'Tu!T,>$gQD +($K1NCDOQGW@Z#RBt)6G2hPLMs'3Er(csn87D0MYhtskF1*]j's,(5!7Ai,#](`,] +T"d&KWl=rAo@B!p(X4^]k$.KmN3H2,-9`:1pf>YS#/!h36%;d"(&T.K8i>"T<,Xn" +)<$WkaS`JQYT'O_AA-gHgA9%0lCX +TuV3Uljo"23L6KE?.--t(]grSO_m#+>[56ffCGE@B5ER&b<3B;+t`6^:=!L6MjNK: +I)#b(KHt=$E35nG.6IIl?n[8(ctak3Mbi5HQj0`SMZIKpB&+@qT%W>073AH2G!7RC +T6=p5JoMro8>HA.FTC?O4iJ_kTro]R6p!fWE\C7aSj+-q08QtNQ.:"]F]8$:B- ++sg\*I$iM"FesZ2LF"G%O5;a#*-!/P1"#ONG7bAeN,dYLD8F9D`p=4^eg=7a#?9cU +%D.Eb[Wb0h=0;3@(,\N>>nWHXn2r.mbT[<*)AT'#;">F@uQZ[k3@.)b +2pbJOsOoX$'D!Bk7I"$[SRh\0q!QG@LJ"K@'hZ@T*<* +75[&2K`eMY10]ONO@;h&8__*C@j""aR)@PC$f:4f^d#Dj48s>Yo*==NLZ6]b9foW_ +jAI>`#tb^fUu9783jO\3Z/J*,I*)5k:q1ABtFGW;9=`5%")=Gp]BX6c<%W:Wmig!u +Sg='Dbcn[IP#`8N9^IS=8YhHXLsAMV]\fAh6[0PVF#rE#aAka?`eEc]5,#Mu:_!p@S;1V;'mh-.r\[$ +sV6UpQK4%Pbt/\]us%3T@@3ohPkW*YH*4B@GH(76?*3FTPg"2ld!9cThKg%XM2U@\ +^BPQT<3*hfnl9YD[d7^*$G)[,!4Ob>*XSi^iIRbprh%(2T-6#8kd'f/^90^raX!:9 +!E_aVD=B=c7QFkA#(R)'n4$J-tm_<-"8Wm*h]&*`PHlgOR;.7)4gs^^fNa(WREUVW +2Y_KIc\oOJ%,VN9"tU.451n8@-eQQGfKLH@a+OYo_`7WXtgE0iF\!f;1iHOG/PcOo +QaL_PK^JGr8]6-PZ5i%"BarZIDcQ-f+?bT_@B5OEhqM7+)aaW4]u.N)5uifbT7;:( +K4cUtjTjp8nY2rmFq@g-@BH`u+QrCS!:%TR'YjKe>3O9lOERL8Y4Nbh<_Rn',?H/e3@aY'[^DI2+.jB^"4+]H"3o8Yg,oWL=GS_M4MZm-/J(^ +NeSFp6X;O?4&8a-uGr!9%@2b$Qa-bVVq/BH)=!Z/MJoY?SP +$al$0I$)LrN@E^%V'>aQC0]X/d9[HSfaPY?fI*0B^Ji3>pS1r@f`oCTeBLKM66j#I +[Qjbg!MC.n@LdRXCE@gU3OTi$(H9%CndE7Pfu:hqGa[>Of+jkj8heV7]>!+U]rgQ\FUXaVJAhFK7OC/'iE?bQPS^[c'rmsW$8""oW3_R]Ru8`nZ'CE\KV(ci[ +Kj4Hh4[3a(K.\'/$0sC3'fVj,=$<1rH90N^JAimf*9@67.[fhNVZ6^1iQ\35j6oL6 +*(jHNOh'NkO\?h:k#`R1=K/j^me>$Q7Bs'ejL>g4pl\t'WWIghl[f$LCe +UY]j)603b_lDU^O6o,r'J(=_Ku-+SVfJ4h?P8g.u1TSNYc@R3U)/n`@T^IV>[*$Ut +WBXltS`I4arYmFpQncT'9fEjW*kqd(^=6G^inP:q'"??pPOXgJ*q<26!l>iI7&8-5 +[J]%(lqX'SFtfRW5jV:6%9:f!FCu@])e`4t*8k;s!9[1!@':XLUY^,p +/[uhB0)9\[o>_[^)(T/E68u.(S!@`c9n!3ceVuq`nlpItr+T>s\Jj7CeT7aStLU_` +s##cFh38HJYp#hFi'gUs_"%FqL\r@,Mg@;3Qre/!d2-Z>Am*H"#K0U"+CuoUDe$HY +kZV=g*uh(ROP.-;^@E2b\4N`#^sl>r;O#n>D'&dPX"%,*ja@"5L.aI`gV8g7saM8I +$_a3NS-#fD'rk,h">]Y2b+*kI=J&WF,a>Hmp>2I_9m)4qG0mrrCfNK>r(k'R&GFN5 +j(qL48XpfF3*?gt%t,pGd)d91H9Y#o22?C]h*bL;Df*6TK'W\)MaO-Jueon7WWqC= +>*J+d6>2!t:G4!0B8ak>e7c<uXCX$(MCYX*Lo\l4HILIbYXlRo4ZOVc>pkDLm5@%-][eY%,`^u0>"roh;]B?QM!omo1^sN8=jo5YS%VP`)U +JPC+YG%uS8m";"7`Pc6e2)^A`:]_PJbu`?R2>h'?B5\S7@9o#"Is.*7o?M%sQ8MO# +Il2Z>bidG)c$:G[31R%6I=F#.L-4]!NdEP!,T]q!$'a(`bTuY3TCB[=Ai9*J-`4:G3@G./5g?Y6j-a!_$>HXpYf4M$t,/=9UYaE!F_*W8?a0$H@SR,Q)=8$c+B@M$GmdP6\6\V*!Hb>4_T]OlP+D%E +8lOC\Vchd]3,1c_o:A4OKapJ@Tf?#s>1/7Pp)"mf*9>ePA&GjH+'`%^Z`,m+FO,rr +Cq5gpT1@pn7VO#3?)?J'[(KFtA!':J`VZSg>J0-?#f7"IcqE)3V45f3b3k +1Mn&!fR&?lXVPj__Yn>99N>M%oH)bs-IMU`=U:R`Ut&\/711+_jG#\BBuPp;L"fTQ +!YS#cSS=#GD"Z=C"ShJ@Q$G8#I^LTkI(XQRhK)(i2A@5,,>+O]7C+O)Sl$$^fs!G2 +o1(*@Y5o7+";EiOck5Brocc*b:(IdJSDc@)LPlmYJms +N[0__p8_]Bq3sK]bQE&R*#8SXko9A1[UDgQ6_jXhuRm]mS5*Hq*XlOojBQXN3VX8< +J\m.rI#"^,:ffUTfgi5&4K>OVN's;Ff+"/d?U#A!@XWGr>3Oq"Nep3Vs#FEW6#6ci +4!aeA(M"*\ede`2c>QYM&!_reEqZl(65]bq/XBiP)X+W6Hg.p4tsRmu6\MqLD)r?T +MlPOkX2.28FEg,KrS%"s/O&&hB]?j6r!GE?1pE#lam6e\A.'o3lodTS"ROkSL(.;@ +[kcTrffLJoR+#p*f%/f7"msghBV;SsL*9OcmFTGZQ#o/!a(SOe2@7CI?.rS:C$o=k +q_ECMORB=X(Sg/,"Q$gQg)8d-'o;GbeNgW<-mjkb.WHTB06h`uZ[T$d!d[2A?6NZr +1`Kcje-:5+R&IUFrDR:[I`+otM4*'DT2VTCA+9Vc_YY`4P)@\7+NRb5#_(?uQ,`4g +7!!R4[>Io*f--4CYYa4D3[.4FNQ#]SJ"GWf;O_\s49Mr@qF!4jusH,kA:H/Bl=0-b +1S1X+s[qg!`;$ksq(]ZA*I4jPUBLVBO)SVqSXH,i(TI5OY@?^2oq(8:TPeY]q8Y*@ +i61e%7D&5R\-Bc37(:9oHSFZJaZ$/!C$411cY6mi"tNZ%C5]9[Ogm?YE4RhU26rM! +@:1KniobBdVBa0GH^#*gP%H8iYutoE`77I]EPeMQ(*,qe'AZ-Tu/R]F'?D:UO[OQnU[P(,[?G!E-rX@>7#kT*S5#N3#lh=)p*aJ.3:4u4_iH_P)[V_)+HUFYM'ia,G +FX/`/$:q-VdAd5WWcC0_ncd#h]i#(r5OoT5n_!GpST3Nl@QM/9rMlm'2CaTS*:NaZ +NUOp>/a.BVA2uMDdmoUmCqZJac%j,1sC"ZR4V2T[/`4Z[mhRo_$oYi +>jdCuCG5Oqn(R!h>R,cU?26"H\QNf$FZ)#N]3FKdd?1T>J0]P:/1#r<5S+DGPhTF, +s!n9(Tq!PnB)ir'T^>,T5RrHQ'+6.YF\9Uahok;40HAa7H+u#>eTS*79^b6V$f+L% +bVUYu.mI"qNNr$BiPe3Bc\'+;N?F%\-Qg[%;EVCiDA9=L'2P*N:E-8?3t0>PBKm!u +:#S'59V7Bn7g8;"j%aiNcO&3h0Zm11:pQj(3FI[)h%8_CHj!.;[*o_5rLK5 +LqUIe!c`Vf6IM&*q^3t\j=jF'sD0UL&N3Eh)%9r1p +0rhY`&UI"4O)P9,i8+dAZsl@QOScnpZ7A9!Q%7iE9nnmV-[A@gE0Q;33kI;oPgfgq +b$pQDOtQ(]`%480(bh>c99tmq!);/X2<*"`ROW[dI"O%EF@u8^rQ!J-=oh]`.PQUq +TVdWN@!a7iZo:SFrql.\[%q\2a,\W!3JI.cegU&ctQ<14#.(/T?e3g'R/cAhrL88E +?A-UF+B+?ZFI4<'SiW2?cb>/u$,OhS/aW,'V[=B0q)bu)L+D6%cFE-GebQpVjO!W>GnHtW)L_NUgnpiDD +X0m"EH\jWd*P*N-#bN!8mlHa^if5)iE"NHq(o\d^)3Ta6Qc7)b2$>L-nD6kB`'sC- +.[9.3s@AW^dp3g6,\AO?X^]Y%#q;i.Xf(c&1fYpu.33ZmD,01,uF7&d6!_N7V9B2q +d4"<]8aCjAT9IN87L/Cda.jaX$^a1OBCb?)lkqoWFNc@,ElXUF/8ujl?MhoVW]H&. +j-g:Q$e"2'YM@&E>j5C.OS,mL<1g#BQ`gc59r>CSr-FrUp+>PLB0-5&P/1L1O0cdJ +6a1M0:J,prPaTBtWV]pf's5A7T/<,mrM#Q$3TL(LX`[1$g=kYWY]Lk*"LA_\B9L)9 +rM^i'#ofm8`QrCe"^=GSHl]:G5[",r=DXJp&LeNqB/"$;0[JsmME.Gn#+ERKsa7V)!6)$d_bGmWLJ? +#ipa>MXarr<`i]kZ?CI;TeTo->oL1[JmJ[;pPXm!S")%cd)Y!uuCeTj7GC[,iPQ'f +;@7AEq<`JPr2WcGB>,E*".Hq=gcl_#'o<@oCZ*#IK"oK2I@KoJr^]<:jW1]crTR/E +\ilUlh?b*_79%>IN,QW6(Jo`\Zj]2Y3Yn2f8;(dZ./J#eSiTkV5o];)Wto;i?7;ou +0WFN-JQ_cdYr#r8=6MdN"9+./s8c[Z'7I`(iHD72Js[""p#<;oVq!b7bD4W(`/FCi +MD4`t]d)[c#oXJ^\C7#aTT7"sP2q;,8lO>m7mY31VqV9SV.9p.E^ph>kE%q)e--['A#1@(:dF96;4Q[TH;V/CVs +pT6POtha6'-?1-mPtUQ$kI/epn&/#*?e`3R8D?[lqcH78o^eH@76X@.W9EOZ1cd6, +iP5^_akD;/=$_Doh%B,Ie":X1u&3*S+['JrB-mD;L6h>hHgXA]s[+\*VX[rWbR)= +<Y+h +l[?#E$JnJd1T'\H8OliI[.%@uSl2TdFFINqKRC@uQVVEcG6$cQj,.NS,.m;i6"X#q +hdTmEJ"M/#j!5YqF7FIfku#EE$4i8=obBM^'+EhioqnfI6Ts8;6h8Cq`H(]t1(kS9V0*R_RlCaM/"=3SGr +uV6/u.)7#:B`jn45PJ^Ij.]kt_;+;ddYe:=FeLkts.\@8[XA,,6[UN;'"[RiA_O,6 +F3M36)^Fdi"tiOc$3"liITG:[(IcD>sSS3R7h+O&Jpr^^u)e.JUa#1o#$SO%OC>5: +V[T;I`J><+P/:nYHW>4mCn=ghls<(HB5QKh2#m$9K:X6JuEL59,fpntcM0J>Y42i[ +P!6EUG;FO.JB0BgQ3ZbE$sq&V:)Ikt!G8'4KWm\ri-":9e^?itTTeheko5$>@\kBmd.0qI6HMDU(.lC]&JoP%B=T*-(4:BioIH#.$16^` +cfY+c5?7^o$_1[kAmPPWG8/^J;DrTT.*Y-B"C +.)p]g>HETl0C&g<21qeoaouIQ]."/[7n>1_a4!h&a;kWC+L,A$Mp2rO7-%i;.-X.!61UucP +WTN'VU?HBf%/pZ'HA;<1;BrnbUj[/iDTBL05#oWK;$[lpREeisZ,g +\:(0@ltRe]B+pf61/M51Pj9Wi(G>oJM(r'.+M9HW:B:B)p?uIRR/-F6uT!`W;phPK +#%F7jR9^R\?d#@5]0HcdJ"c!s]^C"DeSW3mqjfFuZ9SaFJ.t"Y[S=gK\`L:\hfB>% +)G+Zss0.OdtGrKfCl$R/!Q]a5#TN@%(:3K"1sdI4<=^f+fFJ$-2"^607%co@KE4ie +"\[75tE4"oqJWY"77q`DoBH.SAhsPp%"?U]GJ("G/MbWR%\3:H@mu'eE4p^NDs\mO +hqqP:&#F.n`O`^U.QcdRAt7,h,D%#mWTCfHXDni+'JMBsB9Z$`HdrgKXKri#YM_V3 +PPB7:.oW&Y:LfiZ0X5*XJ'XfNY$kER:]WK +JC!NgQMX7W>@62(Vf:O-fr5F!:&Y#DY0_(o2)`4r;YH`qtT8MRKYXN/BoD@aC3\i* +;E5kt!"f-PM7%f:%8H4EM:u?k4WFe<0sc`00rD6t?]5J^@I_EA=&+,Q2BFVfYp$T\ +S*pDWFed(9C*BSt(++(NZr[mShDN:,Fj0sm_/`Hnhj5=R\jQ)o)Pr@,"XZC,fK.J7l6]O\X8(/>?n/>l.!K +^&nc,72c>YpC;[QEN@irf35G)?nTBo9]8o3(R'0Rcmpe"ppT[dI7\Uo2R^+/s#+o& +E3mH[2H]5C+Ta%?Fu>]RC'kVM/EaFV5ih(eGbc'7msFVc3CkPX@rU0h*PkU5Vs,!% +=TV@Xne6`>G6LMD7RK!$$+?S0W7@`-sPu;2Qn?,Sq)Sj#$548aB44N)]AA=Vb')JV +G&?rNL.Y0i[[4.=3le1`#0^8@,#TCG(s]:U38r;pAQd%Olep#C=T,3#jZL(D6h/eG +Ca'bgmCU^sD-liKK9f54t;01)9lMXu]RIIE)L]8r5mNEnZa*N+^S/<^"+s2%Ym85V6aM@fU,-+F"J\_En'O+4oc#Vt9U_;2)Y^n +t!/f`~> +%-EOD- +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%EOF diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie.pdf new file mode 100644 index 00000000..320b4d7a Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_01.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_01.pdf new file mode 100644 index 00000000..ea8e5f7e Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_01.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_02.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_02.pdf new file mode 100644 index 00000000..8fa98d71 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_02.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_03.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_03.pdf new file mode 100644 index 00000000..a9707d8d Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_03.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_04.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_04.pdf new file mode 100644 index 00000000..027a4f68 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_04.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_05.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_05.pdf new file mode 100644 index 00000000..bd3d969d Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_05.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_06.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_06.pdf new file mode 100644 index 00000000..347b890f Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_06.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_07.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_07.pdf new file mode 100644 index 00000000..f6b90558 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_07.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_08.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_08.pdf new file mode 100644 index 00000000..b95e4c9e Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_08.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_09.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_09.pdf new file mode 100644 index 00000000..1aeefa4f Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_09.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_10.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_10.pdf new file mode 100644 index 00000000..fbac49fd Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_10.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_11.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_11.pdf new file mode 100644 index 00000000..f11b4428 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_11.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_12.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_12.pdf new file mode 100644 index 00000000..9cbbac86 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_12.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_13.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_13.pdf new file mode 100644 index 00000000..6dd67e39 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_13.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_14.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_14.pdf new file mode 100644 index 00000000..8ef4e3f5 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_14.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_15.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_15.pdf new file mode 100644 index 00000000..a5161b11 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_15.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_16.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_16.pdf new file mode 100644 index 00000000..1b285279 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_16.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_17.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_17.pdf new file mode 100644 index 00000000..e9067b3a Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_17.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_18.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_18.pdf new file mode 100644 index 00000000..a36b78b6 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_18.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_19.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_19.pdf new file mode 100644 index 00000000..63201479 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_19.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_20.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_20.pdf new file mode 100644 index 00000000..ebc12ddd Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_20.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_package.pdf b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_package.pdf new file mode 100644 index 00000000..7e651777 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/duckie/duckie_package.pdf differ diff --git a/texmf-dist/source/latex/acromemory/acromemory.dtx b/texmf-dist/source/latex/acromemory/acromemory.dtx index 8770f3c3..2fb7486d 100644 --- a/texmf-dist/source/latex/acromemory/acromemory.dtx +++ b/texmf-dist/source/latex/acromemory/acromemory.dtx @@ -2,7 +2,7 @@ %<*copyright> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% acromemory.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2020 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% @@ -14,14 +14,29 @@ % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{acromemory} -% [2017/02/23 v1.1 AcroMemory (dps)] +% [2020/06/23 v2.0 AcroMemory (dps)] %<*driver> \documentclass{ltxdoc} -\usepackage[colorlinks,hyperindex]{hyperref} +\usepackage[colorlinks,hyperindex=false]{hyperref} \pdfstringdefDisableCommands{\let\\\textbackslash}% -\EnableCrossrefs \CodelineIndex -\OnlyDescription % comment out for implementation details +\EnableCrossrefs \CodelineIndex \RecordChanges +\InputIfFileExists{aebdocfmt.def}{\PackageInfo{acromemory}{Inputting aebdocfmt.def}} + {\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro}\let\setupFullwidth\relax + \PackageInfo{acromemory}{aebdocfmt.def cannot be found}} \begin{document} +\bgroup\ttfamily +\gdef\brpr#1{\char123\relax#1\char125\relax}\egroup +\let\darg\brpr +\let\env\texttt +\let\opt\texttt +\let\app\textsf +\def\visispace{\symbol{32}} +\def\ameta#1{\ensuremath{\langle\textit{\texttt{#1}}\rangle}} +\def\meta#1{\textsl{\texttt{#1}}} +\def\SUB#1{\ensuremath{{}_{\mbox{\scriptsize\ttfamily#1}}}} +\def\ltag{<}\def\rtag{>} +\def\EXCL{!} +\let\app\textsf\let\pkg\textsf \GetFileInfo{acromemory.sty} \title{The \texttt{AcroMemory} Package\texorpdfstring{\\}{: } A member of the AeB Pro family} @@ -32,20 +47,20 @@ \tableofcontents \let\Email\texttt \DocInput{acromemory.dtx} - \PrintIndex +\IfFileExists{\jobname.ind}{\newpage\setupFullwidth\PrintIndex}{\paragraph*{Index} The index goes here.\\Execute + \texttt{makeindex -s gind.ist -o acromemory.ind acromemory.idx} on the command line and recompile + \texttt{acromemory.dtx}.} +\IfFileExists{\jobname.gls}{\PrintChanges}{\paragraph*{Change History} The list of changes goes here.\\Execute + \texttt{makeindex -s gglo.ist -o acromemory.gls acromemory.glo} on the command line and recompile + \texttt{acromemory.dtx}.} \end{document} % % \fi -% \section{What is the AeB Pro Family?} -% Through the years, I have tried to make my AeB software -% ({Acro\negthinspace\TeX} eDucation Bundle) compatible with -% \textsf{pdftex} and \textsf{dvipdfm}; however, during that time, -% I've developed a number of techniques that require the use of -% Acrobat and distiller. Therefore, I have set off in a new direction and -% will be publishing a new line of {\LaTeX} packages, one that require the use -% of Acrobat. % -% The current package, \textsf{AcroMemory}, requires the use of Acrobat Pro~7.0 or later. +% \MakeShortVerb{|} +% \InputIfFileExists{aebdonotindex.def}{\PackageInfo{eforms}{Inputting aebdonotindex.def}} +% {\PackageInfo{eforms}{aebdonotindex.def cannot be found}} +% % \section{Introduction} % % At the instigation of my erstwhile friend, J\"{u}ergen, I present to you \textsf{AcroMemory}, and @@ -79,184 +94,342 @@ % The demo files are \texttt{acromemory1.tex} and \texttt{acromemory2.tex}. These files show how to % lay out the various elements of this package. % +% \paragraph*{What's New for version v2.0 (2020-06-23):} Rewrote the entire package to support all +% \LaTeX\space workflows: \app{pdflatex}, \app{lualatex}, \app{xelatex}, and \app{dvips \texttt{->} distiller}. +% \changes{v2.0}{2020/06/23}{Rewrote entire package in order to support all \string\LaTeX\space +% workflows} +% % \section{Creating the Image Tiles} % -% There are a couple of ways you can package your image tiles: (1) place all tiles (all of identical size) -% into a single PDF and use the \texttt{iconfile} option to tell AcroMemory you are using this method; (2) -% each image file is a separate PDF. In the latter case, there is a naming convention that must be followed; -% the files must be named \texttt{\_01.pdf}, \texttt{\_02.pdf}, \dots, -% \texttt{\_10.pdf}, \texttt{\_11.pdf}, \dots. You'll note the consistent two digit -% numbering system is used. - % For \texttt{acromemory2}, slicing of the image is at the very heart % of this game. You can slice an image in to rectangular tiles using -% any of several applications: \textsf{Adobe Illustrator}, -% \textsf{Photoshop} and \textsf{ImageReady}, for example. But these are -% expensive applications and you have already bought \textsf{Acrobat Pro}. For this purpose, -% AeB Pro provides the \textsf{AcroSlicing} batch sequence. +% any of several applications: \app{Adobe Illustrator}, +% \app{Photoshop} and \textsf{ImageReady}, for example. But these are +% expensive applications; a cheap method is to use the {\LaTeX} package +% \pkg{tile-graphic}.\footnote{\url{https://ctan.org/pkg/tile-graphic}} % % \begin{macrocode} %<*package> \RequirePackage{xkeyval} % \end{macrocode} -% \begin{macro}{acromemory1} +% \leavevmode\IndexOpt{acromemory1} % One playing board, where you try to match identical icons. % \begin{macrocode} \DeclareOptionX{acromemory1}{\acromemoryitrue} % \end{macrocode} -% \end{macro} -% \begin{macro}{acromemory2} +% \leavevmode\IndexOpt{acromemory2} % Two playing boards, one board randomized the other not. Try to find the matching icons, % one from each of the two boards. % \begin{macrocode} \DeclareOptionX{acromemory2}{\acromemoryifalse} % \end{macrocode} -% \end{macro} -% \begin{macro}{acromemory2} -% Two playing boards, one board randomized the other not. Try to find the matching icons, -% one from each of the two boards. -% \begin{macrocode} -\DeclareOptionX{iconfile}{\def\iconsInOneFile{true}} -\def\iconsInOneFile{false} -% \end{macrocode} -% \end{macro} -% \begin{macro}{includehelp} +% \leavevmode\IndexOpt{includehelp} % Only valid when \texttt{acromemory2} is taken, this option allows you to provide a % figure showing the completed puzzle. % \begin{macrocode} \DeclareOptionX{includehelp}{\includehelptrue} % \end{macrocode} -% \end{macro} +% \leavevmode\IndexOpt{draft} Draft mode, works for \app{pdflatex} and \app{lualatex} only. +% \begin{macrocode} +\DeclareOptionX{draft}{\PassOptionsToPackage{draft}{graphicx}} +% \end{macrocode} +% Declare to booleans, and process options % \begin{macrocode} \newif\ifincludehelp \includehelpfalse \newif\ifacromemoryi \acromemoryifalse -\ProcessOptionsX +\ProcessOptionsX\relax +\@ifpackageloaded{eforms}{\execJSOn} + {\RequirePackage[execJS]{eforms}} +\RequirePackage{aeb-comment} +\ifxetex\makeXasPDOff\fi +\RequirePackage{icon-appr} +\RequirePackage{multido} \RequirePackage{graphicx} -\RequirePackage{comment} \ifacromemoryi \def\RanIdentifier{\@gobble} \includecomment{acromemory1} \excludecomment{acromemory2} - \excludecomment{needhelp} + \includehelpfalse \else \def\RanIdentifier{R\@gobble} \includecomment{acromemory2} \excludecomment{acromemory1} - \ifincludehelp - \includecomment{needhelp} - \else - \excludecomment{needhelp} - \fi \fi +\newcount\am@nCnt % \end{macrocode} % \section{Main Macro Code} -% When setting up your AcroMemory document, you need to provide this package with -% certain information, as listed below. -% \begin{macro}{\theTotalTiles} -% \begin{macro}{\theNumRows} -% \begin{macro}{\theNumCols} -% \begin{macro}{\theImportPath} -% \begin{macro}{\theIconExt} -% \begin{macro}{\theTeXImageWidth} -% \begin{macro}{\provideDimensions} -%\begin{itemize} -% \item \cs{theTotalTiles}: The total number of tiles in the game board. For example, -% \verb!\theTotalTiles{20}!. This parameter is required. -% \item \cs{theNumRows}: The number of rows in the game board. For example, -% \verb!\theNumRows{5}!. This parameter is required. -% \item \cs{theNumCols}: The number of columns in the game board. For example, -% \verb!\theNumCols{4}!. This parameter is required. -% \item \cs{theImportPath}: The import path to the basename of the image. The path -% should use the path specification as defined in the PDF Ref, and the file name should -% have no extension. For example, \verb!\theImportPath{myFig/myimages}!. Required. -% There is an optional argument that is typically used when the iconfile is in effect -% with the acromemory2 option, and an image of the game board is different from the -% path given by the optional argument; for example, -%\begin{verbatim} -% \theImportPath[dpsweb/dpsweb]{dpsweb/dpsweb_package} -%\end{verbatim} -% The required argument points the packaged icons, the optional argument points to -% a file showing the entire image -% \item \cs{theIconExt}: The extension of the image file(s), Required if different -% from \texttt{pdf}. -% \item \cs{theTeXImageWidth}: The scaled width of the rectangular game board. The -% game board will be rescaled so that its width is equal to the value specified -% by the argument of this command, e.g., \verb!\theTeXImageWidth{2in}!. -% \item\cs{provideDimensions}: If the dimension of the game board is known, the width -% and height can be entered with this command using the two parameters. For example, -% \verb!\provideDimensions{2in}{2.5in}! (width, height). -%\end{itemize} +% +% \begin{macro}{\bDebug} +% A debugging command. When executed in the preamble, more is written to the Acrobat console +% as the document is opened the first time, also, the icons are initially visible so you can +% see the layout, and quickly play the game. This was used in development extensively to help +% develop the JavaScript. +% \begin{macrocode} +\def\bDebug{\def\memDebug{true}} +\def\memDebug{false} +% \end{macrocode} +% \end{macro} +% \leavevmode\DescribeMacro\isPackage Placed prior to \cs{amEmbedTiles}, it signals +% that the images are in a package file. +% \begin{macrocode} +\newif\if@isPackaged\@isPackagedfalse +\def\isPackage{\@isPackagedtrue} +\let\amIconObjs\@gobble +% \end{macrocode} +% \leavevmode\DescribeMacro\amEmbedTiles\hskip-\marginparsep\texttt +% {[\ameta{ext}]\darg{\ameta{name}}\darg{\ameta{n-rows}}\darg{\ameta{n-cols}}\darg{\ameta{path}}} +% Embed the required files for this puzzle. We require a \ameta{name}, in the off chance that some day +% more than one puzzles are allowed. +% \begin{macrocode} +\newcommand{\amEmbedTiles}[4][]{\begingroup + \gdef\amNumImages{#3}% + \csarg\gdef{amGraphicPath#2}{#4}% + \gdef\imageImportPath{#4}% + \ifacromemoryi +% \end{macrocode} +% If \opt{acromemoryi} is in effect, then \texttt{\#3} is half the required icons, +% each icon is placed twice, then mixed up. Anyway, we double this value going forward. % \begin{macrocode} -\def\theTotalTiles#1{\def\nTotalTiles{#1}} -\def\theNumRows#1{\def\nRows{#1}} -\def\theNumCols#1{\def\nCols{#1}} -\newcommand{\theImportPath}[2][]{% + \@tempcnta=#3\relax + \multiply\@tempcnta\tw@ + \xdef\nTotalTiles{\the\@tempcnta}\else + \gdef\nTotalTiles{#3}\fi + \def\@Ext{#1}\ifx\@Ext\@empty\def\@Ext{.pdf}\else\def\@Ext{.#1}\fi + \@tempcnta\z@ + \let\@embedList\@empty + \let\AMIndxList\@gobble + \edef\z{\noexpand\g@addto@macro\noexpand + \amIconObjs{,"#2":\amNumImages}}\z + \@whilenum \@tempcnta < \amNumImages \do{% + \am@nCnt\@tempcnta\advance\am@nCnt\@ne + \ifnum\am@nCnt<10\relax\edef\x{0\the\am@nCnt}\else + \edef\x{\the\am@nCnt}\fi + \edef\z{\noexpand\g@addto@macro\noexpand\AMIndxList{,"#2pic\x"}}\z + \ifxetex\if@isPackaged + \PackageWarning{acromemory} + {There is no support for embedding packaged\MessageBreak + PDFs with xelatex. Ignoring the \string\isPackage\MessageBreak + command}% + \@isPackagedfalse + \fi\fi \ifacromemoryi - \def\imageImportPath{#2} - \def\importpath{#2} + \@tempcntb\@tempcnta + \multiply\@tempcntb\tw@ + \advance\@tempcntb\@ne + \edef\z{\the\@tempcntb}\advance\@tempcntb\@ne + \edef\zi{\the\@tempcntb}% + \if@isPackaged + \ifpdf + \edef\y{\noexpand + \embedIcon[name=#2pic\x,% + hyopts={page=\x}]{#4_package.pdf}}% + \else + \edef\y{\noexpand + \embedIcon[name=#2pic\x,% + placement={[1]Membutton.\z,[1]Membutton.\zi},% + page=\x-1]{#4_package.pdf}}% + \fi + \else + \edef\y{\noexpand + \embedIcon[name=#2pic\x,% + placement={[1]Membutton.\z,[1]Membutton.\zi}]{#4_\x\@Ext}}% + \fi \else - \def\argi{#1}\ifx\argi\@empty - \def\imageImportPath{#2} - \def\importpath{#2} + \ifincludehelp\embedIcon[name=helpimage,% + placement={[1]memoryhelp}]{#4\@Ext}\fi + \edef\z{\the\am@nCnt}% + \if@isPackaged + \ifpdf + \edef\y{\noexpand + \embedIcon[name=#2pic\x,% + hyopts={page=\x}]{#4_package.pdf}}% \else - \def\imageImportPath{#1} - \def\importpath{#2} + \edef\y{\noexpand + \embedIcon[name=#2pic\x,% + placement={[1]MemLbutton.\z,[1]MemRbutton.\z},% + page=\x-1]{#4_package.pdf}}% \fi + \else + \edef\y{\noexpand + \embedIcon[name=#2pic\x,% + placement={[1]MemLbutton.\z,[1]MemRbutton.\z}% + ]{#4_\x\@Ext}}% + \fi \fi + \expandafter\g@addto@macro\expandafter + \@embedList\expandafter{\y}% + \@tempcnta\am@nCnt + }% do + \toks@=\expandafter{\@embedList}\the\toks@ +%%\typeout{!! \the\toks@}% + \endgroup + \global\@isPackagedfalse } -\def\theIconExt#1{\def\iconsExt{#1}} -\def\iconsExt{pdf} -\def\theTeXImageWidth#1{\def\texImageWidth{#1}% - {\dimen0 = \texImageWidth \xdef\imageWidth{\strip@pt\dimen0 }}% -} -\newcommand{\provideDimensions}[3][]{% - \def\argi{#1}\ifx\argi\@empty - {\dimen0 = #2 \xdef\trueImageWidth{\strip@pt\dimen0 }% - \dimen0 = #3 \xdef\trueImageHeight{\strip@pt\dimen0 }}% - \else - \def\trueImageWidth{#1}\def\trueImageHeight{#2}% - \fi - \def\bProvideDimen{true}% +% \end{macrocode} +% \leavevmode\DescribeMacro\amIconPic\hskip-\marginparsep\texttt +% {[\ameta{opts}]\darg{\ameta{fname}}\darg{\ameta{wd}}\darg{\ameta{ht}}} A general +% purpose push button that will have icon appearances. +% \begin{macrocode} +\newcommand{\amIconPic}[4][]{% \I{\csOf{name}} required + \pushButton[\BG{}\W{1}\S{S}#1\TP{1}%\F{\FHidden} + ]{#2}{#3}{#4}} +% \end{macrocode} +% \DescribeMacro\insertTiles\hskip-\marginparsep +% \texttt{\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{rows}}\darg{\ameta{cols}}} +% Command for placing the tiles of a picture. We assume that the pictures are numbered +% consecutively across rows. +% \begin{quote} +% \begin{description} +% \item[\ameta{name}] The name of the graphic (a JavaScript identifier) +% \item[\ameta{width}] The width of the image, the height is scaled proportionally +% \item[\ameta{rows}] The number of rows +% \item[\ameta{cols}] The number of columns +% \end{description} +% \end{quote} +% \begin{macrocode} +\newcommand\insertTiles[4]{\begingroup + \@tempdima#2\relax + \divide\@tempdima #4\relax + \setbox\z@\hbox{\includegraphics[draft,width=\@tempdima]% + {\@nameuse{amGraphicPath#1}}}% + \edef\amTileWd{\the\wd\z@}% + \setlength\@tempdima{\ht\z@+\dp\z@}% + \setbox\z@\box\voidb@x + \edef\amTileHt{\the\@tempdima}% + \@tempdima\amTileWd\relax + \multiply\@tempdima #4\relax + \edef\tot@lWd{\the\@tempdima}% + \@tempcnta#3\relax + \multiply\@tempcnta #4\relax + \divide\@tempcnta\tw@ + \edef\tot@lHalfTiles{\the\@tempcnta}% + \begin{minipage}{\tot@lWd}% + \offinterlineskip\hbadness=10000\@tempcnta\z@ + \leavevmode + \rlap{\amIconPic[\BC{}\BG{}]{nullIconBtn}{0bp}{0bp}}% + \multido{\i=1+1}{\tot@lHalfTiles}{% + \advance\@tempcnta\@ne + \edef\y{\the\@tempcnta}% + \ifnum\i<10\relax + \edef\x{0\i}\else + \edef\x{\i}\fi + \edef\iconPresets{\noexpand\IX{\noexpand\csOf{#1pic\x}}}% + \amIconPic[\AAmouseup{selectTile();}\FB{true} + \presets{\iconPresets}\presets{\amtile@KVs} + ]{Membutton.\y}{\amTileWd}{\amTileHt}\allowbreak + \advance\@tempcnta\@ne + \edef\y{\the\@tempcnta}% + \edef\iconPresets{\noexpand\IX{\noexpand\csOf{#1pic\x}}}% + \amIconPic[\AAmouseup{selectTile();}\FB{true} + \presets{\iconPresets}\presets{\amtile@KVs} + ]{Membutton.\y}{\amTileWd}{\amTileHt}\allowbreak + }% multido + \end{minipage}% + \endgroup +} +\def\amtileKVs#1{\def\amtile@KVs{#1}} +\amtileKVs{} +% \end{macrocode} +% \leavevmode\DescribeMacro\insertTilesii\hskip-\marginparsep\texttt +% {\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{n-rows}}\darg{\ameta{n-cols}}\darg{\ameta{\upshape L\string|R}}} +% \begin{quote} +% \begin{description} +% \item[\ameta{name}] The name of the graphic (a JavaScript identifier) +% \item[\ameta{width}] The width of the image, the height is scaled proportionally +% \item[\ameta{rows}] The number of rows +% \item[\ameta{cols}] The number of columns +% \item[\ameta{\upshape L\string|R}] Indicates for Left or Right Image +% \end{description} +% \end{quote} +% Is the common code for \cs{insertTilesL} and \cs{insertTilesR}. +% \begin{macrocode} +\newcommand\insertTilesii[5]{\begingroup + \def\@rgv{#5}\def\as@L{L}% + \@tempdima#2\relax + \setbox\z@\hbox{\includegraphics[draft,width=\@tempdima]{% + \@nameuse{amGraphicPath#1}}}% + \edef\amImageWd{\the\wd\z@}% + \setlength\@tempdima{\ht\z@+\dp\z@}% + \setbox\z@\box\voidb@x + \edef\amImageHt{\the\@tempdima}% +% Now calculate wd and ht of a tile + \@tempdima\amImageWd\relax + \divide\@tempdima#4\relax + \edef\amTileWd{\the\@tempdima}% + \@tempdima\amImageHt\relax + \divide\@tempdima#3\relax + \edef\amTileHt{\the\@tempdima}% +% Calculate total number of tiles + \@tempcnta#3\relax + \multiply\@tempcnta#4\relax + \edef\Tot@lTiles{\the\@tempcnta}% +% Begin minipage of width \amImageWd + \begin{minipage}{\amImageWd}% + \offinterlineskip\hbadness=10000\@tempcnta\z@ + \leavevmode + \rlap{\amIconPic[\BC{}\BG{}]{nullIconBtn}{0bp}{0bp}}% + \multido{\i=1+1}{\Tot@lTiles}{% + \advance\@tempcnta\@ne + \edef\y{\the\@tempcnta}% + \ifnum\i<10\relax + \edef\x{0\i}\else + \edef\x{\i}\fi + \ifx\@rgv\as@L + \def\muAction{nRowsAM=#3;nColsAM=#4;\string\r + selectNonRandomTile(\y,\y);}\else + \def\muAction{nRowsAM=#3;nColsAM=#4;\string\r + selectRandomTile(randomAM[\y],\y);}\fi + \edef\iconPresets{\noexpand\AAmouseup{\muAction}\noexpand + \IX{\noexpand\csOf{#1pic\x}}}% + \amIconPic[\presets{\iconPresets} %\FB{true} + \presets{\amtile@KVs} + ]{Mem#5button.\y}{\amTileWd}{\amTileHt}\allowbreak + }% multido + \end{minipage}\endgroup } -\def\bProvideDimen{false}% -\def\trueImageWidth{0}\def\trueImageHeight{0}% % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\bDebug} -% A debugging command. When executed in the preamble, more is written to the Acrobat console -% as the document is opened the first time, also, the icons are initially visible so you can -% see the layout, and quickly play the game. This was used in development extensively to help -% develop the JavaScript. +% \leavevmode\DescribeMacro\insertTilesL\hskip-\marginparsep\texttt +% {\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{n-rows}}\darg{\ameta{n-cols}}} +% Inserts the left-hand tiles, which is the non-randomize version of the picture. % \begin{macrocode} -\def\bDebug{\def\memDebug{true}} -\def\memDebug{false} +\newcommand\insertTilesL[4]{\ifacromemoryi + \def\AM@next{\PackageWarning{acromemory} + {The use of \string\insertTilesL\space is supported\MessageBreak + only for the acromemory2 option}}\else + \def\AM@next{\insertTilesii{#1}{#2}{#3}{#4}{L}}\fi\AM@next} % \end{macrocode} -% \end{macro} -% \begin{macro}{\helpImage} -% \begin{macro}{\rolloverHelpButton} -% \begin{macro}{\setHelpImageWidth} -% \begin{macro}{\theHelpCaption} -% When \texttt{acromemory2} options and the \texttt{includehelp} -% options are taken, these commands are available. The command +% \leavevmode\DescribeMacro\insertTilesR\hskip-\marginparsep\texttt +% {\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{n-rows}}\darg{\ameta{n-cols}}} +% Inserts the right-hand tiles, which is the randomized version of the picture. +% \begin{macrocode} +\newcommand\insertTilesR[4]{\ifacromemoryi + \def\AM@next{\PackageWarning{acromemory} + {The use of \string\insertTilesR\space is supported\MessageBreak + only for the acromemory2 option}}\else + \def\AM@next{\insertTilesii{#1}{#2}{#3}{#4}{R}}\fi\AM@next} +% \end{macrocode} +% \begin{macro}{\helpImage}\hskip-\marginparsep\texttt +% {[\ameta{eform-opts}]\darg{\ameta{width}}} +% When \texttt{acromemory2} option and the \texttt{includehelp} +% option are taken, these commands are available. The command % \cs{helpImage} will contain an icon of the puzzle, and it width % is set by the command \cs{setHelpImageWidth}. The image is normally % hidden until the user rolls over the \cs{rolloverHelpButton}. The % icons appears with an caption under it, the content of the caption % can be entered using \cs{theHelpCaption}. % \begin{macrocode} -\newcommand{\helpImage}[1][]{{% - \ifincludehelp{\setbox0 = \hbox{% - \includegraphics[draft,width=\helpImageWidth]% - {\imageImportPath}}%[\Ff\FfReadOnly] - \dimen0=\ht0 \advance\dimen0by14bp\ht0=\dimen0 - \pushButton[\BC{}\BG{}\S{S}#1]{memoryhelp}{\the\wd0}{\the\ht0}}\fi -}} +\newcommand{\helpImage}[2][]{% + \ifincludehelp{\setbox\z@\hbox{% + \includegraphics[draft,width=#2]{\imageImportPath}}% + \dimen\z@=\ht\z@\advance\dimen\z@14bp\ht\z@=\dimen\z@ + \pushButton[\IX{\csOf{helpimage}}\TP{2} %\CA{\helpCaption} + \Ff\FfReadOnly\BC{}\BG{}\S{S}#1]% + {memoryhelp}{\the\wd\z@}{\the\ht\z@}}\fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\rolloverHelpButton} +% \begin{macrocode} \newcommand{\rolloverHelpButton}[3][]{% \ifincludehelp \pushButton[\CA{Help}\BC{0 0 1}\BG{0.89 0.9 0.9} @@ -275,16 +448,16 @@ }}}#1]{checkhelp}{#2}{#3}% \fi } -\newcommand{\setHelpImageWidth}[1]{\def\helpImageWidth{#1}} -\def\helpImageWidth{1in} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\theHelpCaption} +% \begin{macrocode} \def\theHelpCaption#1{\def\helpCaption{#1}} \theHelpCaption{A little help} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\messageBox} +% \begin{macro}{\messageBox}\hskip-\marginparsep\texttt +% {[\ameta{opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}} % A message text field, as the user works the puzzle, the progress is reported % to this field. % \begin{macrocode} @@ -292,90 +465,52 @@ \textField[#1\Ff\FfMultiline]{MsgBox}{#2}{#3}} % \end{macrocode} % \end{macro} -% \begin{macro}{\playItAgain} -% For the \texttt{acromemory1} option, this button can be placed to reset -% the game board, the icons are rearranged hand hidden again. +% \begin{macro}{\playItAgain}\hskip-\marginparsep\texttt +% {[\ameta{opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}} +% For the \texttt{acromemory2} option, this button can be placed to reset +% the two memory boards, so the memory game can be played again. % \begin{macrocode} -\newcommand{\playItAgain}[3][]{\ifacromemoryi{\small - \pushButton[\CA{Play again}#1\A{\JS{playagain();}}]% - {playAgain}{#2}{#3}}% - \fi +\newcommand{\playItAgain}[3][]{\ifacromemoryi + \pushButton[\CA{Play again}#1\AAmouseup{playagain();}]% + {playAgain}{#2}{#3}\fi } % \end{macrocode} % \end{macro} -% \begin{macro}{\ulCornerHere} -% \begin{macro}{\LulCornerHere} -% \begin{macro}{\RulCornerHere} -% \begin{macro}{\reserveSpaceByDimension} -% \begin{macro}{\reserveSpaceByFile} -% This group of buttons appear together. \cs{ulCornerHere} is used to -% set the upper left corner of the game board in the case of the -% \texttt{acromemory1} option; while \cs{LulCornerHere} and \cs{RulCornerHere} -% do the same thing for the \texttt{acromemory2} option. One of the two commands -% \cs{reserveSpaceByDimension} or \cs{reserveSpaceByFile} immediately follow -% the `corner' commands. -% \begin{macrocode} -\def\ulCornerHere{\makebox[0pt][l]% - {\pushButton[\autoCenter{n}]{ulcorner}{0pt}{0pt}% - \pushButton[\autoCenter{n}\BC{}\BG{}\FB{true}\I{null}\TP{1}]{nullIconBtn}{0pt}{0pt}% - }} -\def\LulCornerHere{\makebox[0pt][l]% - {\pushButton[\autoCenter{n}]{Lulcorner}{0pt}{0pt}% - \pushButton[\autoCenter{n}\BC{}\BG{}\FB{true}\I{null}\TP{1}]{nullIconBtn}{0pt}{0pt}% - }} -\def\RulCornerHere{\makebox[0pt][l]% - {\pushButton[\autoCenter{n}]{Rulcorner}{0pt}{0pt}}} -% \end{macrocode} -% The two arguments are $\texttt{\#1} = \mbox{width}$ and $\texttt{\#2} = \mbox{height}$. +% \begin{macro}{\playItAgain}\hskip-\marginparsep\texttt +% {[\ameta{opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}} +% For the \texttt{acromemory1} option, this button can be placed to reset +% the game board, the icons are rearranged hand hidden again. % \begin{macrocode} -\def\reserveSpaceByDimension#1#2{% - \hbox{\ifpreview\setlength\fboxrule{0.4pt}\setlength\fboxsep{0pt}% - \@tempdima=#1\advance\@tempdima by-\fboxrule - \@tempdimb=#2\advance\@tempdimb by-\fboxrule - \fbox{\parbox[t][\@tempdimb][t]{\@tempdima}{\kern0pt\hfill\vfill}}% - \else\parbox[t][#2][t]{#1}{\kern0pt\hfill\vfill}\fi}% +\newcommand{\tryItAgain}[3][]{\ifacromemoryi\else + \pushButton[\CA{Test Your Memory}#1\AAmouseup{tryAgain();}]% + {testYourMemory}{#2}{#3}\fi } % \end{macrocode} -% The optional argument can be used to insert a file that has the same aspect ratio as -% the puzzle, the default is the one specified by the optional argument of -% \cs{theImportPath}, which, if not specified, is the same as the required argument -% of \cs{theImportPath} -% \begin{macrocode} -\newcommand{\reserveSpaceByFile}[1][\imageImportPath]% - {{\setbox0=\hbox{\includegraphics[draft,width=\texImageWidth]{#1}}% - \reserveSpaceByDimension{\wd0}{\ht0}}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % \end{macro} +% % \section{Document JavaScript for \textsf{AcroMemory}} -% Most of the work of this package is done with document JavaScript, and here -% it is. -%\par\medskip\noindent -%\StopEventually{JavaScript listing suppressed, -% comment out \cs{OnlyDescription} at the beginning of this file to see -% the JavaScript.} +% Operational support is provide by JavaScript. % \begin{macrocode} -\begin{insDLJS*}[_MemLoaded]{memjs} +\newcommand{\initFirstiMsg}{"Press the 'Play again' + button to initialize the puzzle"} +\newcommand{\initFirstiiMsg}{"Press the 'Test Your Memory' + button to initialize the puzzle"} +\begin{insDLJS*}{memjs} \begin{newsegment}{AcroMemory 1: Global Data and Initialization} // Global Data: -_MemLoaded=true; -var randomDPS = new Array(\nTotalTiles+1); -var imageNames = new Array(); -imageNames.push("null"); - -var dpsl = randomDPS.length; +var isRandomized=false; +var randomAM = new Array(\nTotalTiles+1); +var imageNames = new Array(\AMIndxList); +imageNames.push(\AMIndxList); +imageNames.unshift("null"); +var dpsl = randomAM.length; var timeout = 10; var shutdown, rAE; var ok2Continue = true; -var nRows = \nRows; -var nCols = \nCols; -var nCorrect = 0; -var nAttempts = 0; - -for (i=1; i<=\nTotalTiles; i++) randomDPS[i]=i; +var nRowsAM, nColsAM; +var nCorrectAM = 0; +var nAttemptsAM = 0; +for (i=1; i<=\nTotalTiles; i++) randomAM[i]=i; % \end{macrocode} % We get the push button with a null icon (nullIconBtn) We get the null icon object % from it. This technique eliminates the previous need for the Acrobat application when @@ -386,28 +521,14 @@ var f=this.getField("nullIconBtn"); var nullIcon=f.buttonGetIcon(); var debug = \memDebug; \end{newsegment} - \begin{acromemory1} \begin{newsegment}{AcroMemory 2: Initialize Pic Names} -var nttl = \nTotalTiles/2; -for ( var i = 1; i <= nttl; i++) -{ - imageNames.push("pic"+i +".0"); - imageNames.push("pic"+i +".1"); -} var currentChoice = ""; -var currentTile1 = 0; -var currentTile2 = 0; var currentIconName = ""; \end{newsegment} \end{acromemory1} \begin{acromemory2} \begin{newsegment}{AcroMemory 2: Initialize Pic Names} -var nttl = \nTotalTiles; -for ( var i = 1; i <= nttl; i++) -{ - imageNames.push("pic."+i); -} var LcurrentChoice = 0; var LcurrentTile = 0; var RcurrentChoice = 0; @@ -415,9 +536,7 @@ var RcurrentTile = 0; \end{newsegment} \end{acromemory2} \begin{newsegment}{AcroMemory 3: Bubble Sort} -// Clear DPS: - -function clearDPS() +function clearAM() { for ( var i=1; i<=\nTotalTiles; i++ ) { @@ -425,9 +544,7 @@ function clearDPS() f.buttonSetIcon(nullIcon); } } - -// Mixup DPS: -function mixupDPS() +function mixupAM() { var i, rand; for (i=1; i<= \nTotalTiles; i++) @@ -437,50 +554,51 @@ function mixupDPS() rand = Math.ceil(rand); rand = rand \% dpsl; if (rand == 0 ) rand = 1; - temp = randomDPS[i]; - randomDPS[i]=randomDPS[rand]; - randomDPS[rand]=temp; + temp = randomAM[i]; + randomAM[i]=randomAM[rand]; + randomAM[rand]=temp; } } - -// Show DPS: -function showDPS() +function showAM() { for ( var i=1; i<=\nTotalTiles; i++ ) { - var oIcon = this.getIcon(imageNames[randomDPS[i]]); + var oIcon = this.getIcon(imageNames[randomAM[i]]); var f = this.getField("Mem\RanIdentifier button."+i); f.buttonSetIcon(oIcon); } } - -// Sortout DPS: begin bubble sort -function sortoutDPS() +// Begin bubble sort +function sortoutAM() { - outerLoop(randomDPS.length-1); + outerLoop(randomAM.length-1); } function outerLoop(i) { - if ( ok2Continue && (i >= 0) ) shutdown = app.setTimeOut("app.clearTimeOut(shutdown); innerLoop("+i+",1);", timeout); + if ( ok2Continue && (i >= 0) ) shutdown = % +app.setTimeOut("app.clearTimeOut(shutdown); % +innerLoop("+i+",1);", timeout); } function innerLoop(i,j) { if ( j <= i ) { - if (randomDPS[j-1] > randomDPS[j]) + if (randomAM[j-1] > randomAM[j]) { - var temp = randomDPS[j-1]; - randomDPS[j-1] = randomDPS[j]; - randomDPS[j] = temp; - var oIcon = this.getIcon(imageNames[randomDPS[j-1]]); + var temp = randomAM[j-1]; + randomAM[j-1] = randomAM[j]; + randomAM[j] = temp; + var oIcon = this.getIcon(imageNames[randomAM[j-1]]); var f = this.getField("Mem\RanIdentifier button."+(j-1)); f.buttonSetIcon(oIcon); - var oIcon = this.getIcon(imageNames[randomDPS[j]]); + var oIcon = this.getIcon(imageNames[randomAM[j]]); var f = this.getField("Mem\RanIdentifier button."+j); f.buttonSetIcon(oIcon); } j++ - if ( ok2Continue ) shutdown = app.setTimeOut("app.clearTimeOut(shutdown); innerLoop("+i+","+j+");", timeout); + if ( ok2Continue ) shutdown = % +app.setTimeOut("app.clearTimeOut(shutdown); % +innerLoop("+i+","+j+");", timeout); } else { @@ -489,19 +607,28 @@ function innerLoop(i,j) } } function randomizePuzzle() { - mixupDPS(); + mixupAM(); for ( var i=1; i<=\nTotalTiles; i++) { var g = this.getField("Mem\RanIdentifier button."+i); - var oIcon = this.getIcon(imageNames[randomDPS[i]]); + var oIcon = this.getIcon(imageNames[randomAM[i]]); g.buttonSetIcon(oIcon,1); if (debug) g.buttonSetIcon(oIcon,0); } + isRandomized=true; } \end{newsegment} \begin{acromemory1} \begin{newsegment}{AcroMemory 4: Tile Processing} +var currentIndex=""; +var currentName=""; +var _bOK1=true; function selectTile() // right side randomly arranged { + if(!isRandomized){ + app.alert(\initFirstiMsg); + return; + } + if (!_bOK1) return; var f = event.target; var oIcon = f.buttonGetIcon(1); f.buttonSetIcon(oIcon,0); @@ -509,41 +636,37 @@ function selectTile() // right side randomly arranged var re1 = /Membutton\.(\d+)/; var index = re1.exec(fname); if (debug) console.println("index = " + index[1]); - var thisiconName = imageNames[randomDPS[index[1]]]; + var thisiconName = imageNames[randomAM[index[1]]]; if (debug) console.println("thisiconName = " + thisiconName); - var re = /pic(\d+)\.(\d)/; - var image = re.exec(thisiconName) - if (debug) console.println("selected: " + image[1] + "." + image[2]); if ( currentChoice == "" ) { currentChoice = fname; - currentTile1=image[1]; - currentTile2=image[2]; currentIconName = thisiconName; return; } - if ( (image[1] == currentTile1) && (image[2] != currentTile2) ) + if ( (thisiconName == currentIconName) ) { // right choice - nCorrect++; - nAttempts++ + nCorrectAM++; + nAttemptsAM++ f.readonly = true; var g = this.getField(currentChoice); g.readonly = true; - reportProgress(nCorrect,nAttempts); - resetCounters(); + reportProgress(nCorrectAM,nAttemptsAM); + resetCountersAM(); } else { // wrong choice - nAttempts++ - reportProgress(nCorrect,nAttempts); - rAE = app.setTimeOut("resetAfterError(\""+currentChoice+"\",\""+fname+"\")", 1000); - resetCounters(); + nAttemptsAM++ + _bOK1=false; + reportProgress(nCorrectAM,nAttemptsAM); + rAE = app.setTimeOut(% +"resetAfterError(\""+currentChoice+"\",\""+fname+"\");% +_bOK1=true;", 1000); + resetCountersAM(); } } -function resetCounters () +function resetCountersAM () { currentChoice = ""; - currentTile1 = 0; - currentTile2 = 0; currentIconName = ""; } function resetAfterError(l,r) @@ -552,9 +675,7 @@ function resetAfterError(l,r) var f = this.getField(l); var g = this.getField(r); if (!debug) g.buttonSetIcon(nullIcon,0); -// g.strokeColor=color.black; if (!debug) f.buttonSetIcon(nullIcon,0); -// f.strokeColor=color.black; } function executePostGameEffects() {return;} function playagain() @@ -565,28 +686,49 @@ function playagain() } g = this.getField("Membutton"); g.readonly=false; - resetCounters(); - nCorrect = 0; - nAttempts = 0; - reportProgress(nCorrect,nAttempts); + resetCountersAM(); + nCorrectAM = 0; + nAttemptsAM = 0; + reportProgress(nCorrectAM,nAttemptsAM); randomizePuzzle(); } \end{newsegment} \end{acromemory1} \begin{acromemory2} \begin{newsegment}{AcroMemory 4: Tile Processing} +// save original positions of fields +var aLRect=new Array(); +var aRRect=new Array(); +aLRect.push("null"); +aRRect.push("null"); +var f=this.getField("MemLbutton"); +var g=f.getArray(); +for (var i=0; i % \end{macrocode} % \Finale diff --git a/texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js b/texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js deleted file mode 100644 index 02b1e658..00000000 --- a/texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js +++ /dev/null @@ -1,106 +0,0 @@ -/* - AEB Pro Document Assembly Methods - - Copyright (C) 2009 AcroTeX.Net - D. P. Story - http://www.acrotex.net - - Version 1.1 -*/ - -if ( typeof aebTrustedFunctions == "undefined") { - aebTrustedFunctions = app.trustedFunction( function ( doc, oFunction, oArgs ) - { - app.beginPriv(); - var retn = oFunction( oArgs, doc ) - app.endPriv(); - return retn; - }); -} -aebAddWatermarkFromFile = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return retn = doc.addWatermarkFromFile(oArgs); - app.endPriv(); -}); -aebImportIcon = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return retn = doc.importIcon(oArgs); - app.endPriv(); -}); -aebInsertPages = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - try { doc.insertPages(oArgs); } catch(e) {console.println("Error: " + e.toString());} - app.endPriv(); -}) -aebAppOpenDoc = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - try { var retn = app.openDoc(oArgs); } catch(e) {console.println("Error: " + e.toString());} - app.endPriv(); - return retn; -}) -aebImportSound = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return retn = doc.importSound(oArgs); - app.endPriv(); -}); -aebSaveAs = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - app.execMenuItem("Save"); - app.endPriv(); -}); -aebExtractPages = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return retn = doc.extractPages(oArgs); - app.endPriv(); -}); -aebMailDoc = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return retn = doc.mailDoc(oArgs); - app.endPriv(); -}); -aebImportDataObject = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - return retn = doc.importDataObject(oArgs); - app.endPriv(); -}); -aebSignatureSign = app.trustPropagatorFunction( function ( oArgs, field ) -{ - app.beginPriv(); - return retn = field.signatureSign(oArgs); - app.endPriv(); -}); -aebSecurityHandlerLogin = app.trustPropagatorFunction( function ( oArgs, securityHandler ) -{ - app.beginPriv(); - return retn = securityHandler.login(oArgs); - app.endPriv(); -}); -aebSecurityGetHandler = app.trustPropagatorFunction( function ( oArgs, security ) -{ - app.beginPriv(); - return retn = security.getHandler(oArgs); - app.endPriv(); -}); -aebAppGetPath = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - var retn = app.getPath(oArgs); - app.endPriv(); - return retn; -}) -aebSignatureSetSeedValue = app.trustPropagatorFunction( function ( oArgs, field ) -{ - app.beginPriv(); - return retn = field.signatureSetSeedValue(oArgs); - app.endPriv(); -}); - diff --git a/texmf-dist/source/latex/acromemory/doc/acromemory_man.tex b/texmf-dist/source/latex/acromemory/doc/acromemory_man.tex deleted file mode 100644 index fd8869d5..00000000 --- a/texmf-dist/source/latex/acromemory/doc/acromemory_man.tex +++ /dev/null @@ -1,510 +0,0 @@ -\documentclass{article} -\usepackage[fleqn]{amsmath} -\usepackage[ - web={centertitlepage,designv,forcolorpaper,usesf,tight,latextoc,pro}, - eforms, -% linktoattachments, - aebxmp -]{aeb_pro} -%\usepackage{aeb_mlink} -%\usepackage{myriadpro} -%\usepackage[usecmtt]{myriadpro} -\usepackage[altbullet]{lucidbry} -\usepackage{acroman} - -%\usepackage{myriadpro} -%\usepackage{acaslonpro} -%\usepackage{ajensonpro} -%\usepackage{minionpro} -%\usepackage{newsgothicstd} -%\usepackage{lucidbry} - -\university{\AcroTeX.Net\\The AeB Pro family} -\title{The AcroMemory Package\texorpdfstring{\\}{: }Manual of Usage} -\author{D. P. Story} -\email{dpstory@acrotex.net} -\subject{Documentation for AcroMemory, the memory game} -\keywords{Adobe Acrobat, JavaScript, AcroSlicing, game} -\copyrightStatus{True} -\copyrightNotice{Copyright (C) \the\year, D. P. Story} -\copyrightInfoURL{http://www.acrotex.net} - -\def\nhfootnote#1{\begin{NoHyper}\footnote{#1}\end{NoHyper}} - -\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}% - \kern-.6em \hbox{$\mathcal S$}}$} - - -\definePath\bgPath{"C:/Users/Public/Documents/ManualBGs/Manual_BG_Print_AeB.pdf"} -\begin{docassembly} -\addWatermarkFromFile({ - bOnTop:false, - cDIPath:\bgPath -}); -\executeSave(); -\end{docassembly} - -\begin{document} - -%\begingroup - -%\linewidth=\fullscreenwidth -%\advance\linewidth\oddsidemargin -%\setlength{\oddsidemargin}{0pt} -\maketitle - -%\endgroup - -\changelinkcolorto{black} - -\tableofcontents - -\changelinkcolorto{webgreen} - - -\section{What is the AeB Pro Family?} - - Through the years, I have tried to make my AeB software - ({Acro\negthinspace\TeX} eDucation Bundle) compatible with - \textsf{pdftex} and \textsf{dvipdfm}; however, during that time, - I've developed a number of techniques that require the use of - Acrobat and distiller. Therefore, I have set off in a new - direction and will be publishing a new line of {\LaTeX} packages, - ones that require the use of Acrobat.\nhfootnote{I will, however, - continue to develop the original AeB, never fear!} - -\newtopic The current package, \textsf{AcroMemory}, requires the use - of Acrobat Pro~7.0 or later. - -\section{Introduction} - -At the prompting and encouragement of my erstwhile friend, -J\"{u}rgen, I present to you \textsf{AcroMemory}, and for the life -of me, I can't remember why. - -Oh, yes, \textsf{AcroMemory} is a memory game in which you find the -matching tiles. There are two versions---available as options of -this package---for your enjoyment, \texttt{acromemory1} and -\texttt{acromemory2} (the default). -\begin{itemize} - \item \texttt{acromemory1}: Here you have a single game board, a - rectangular region divided by rows and columns. The total number - of tiles should be even, each tile should have a matching twin. - The game begins with all the tiles hidden. The user clicks a - tile, then another. If the tiles do not match, they become - hidden again (you did remember the position of those tiles, - didn't you?); otherwise, they remain visible and are now - read-only. The game is complete when the user, with a lot of time - on his/her hands, matches all tiles. There is a running - tabulation kept on the number of tries. There is also a button - which resets the game and randomizes the tiles. - - \item \texttt{acromemory2}: For this game you have two identical - rectangular images subdivided into tiles (or slices), which - are arrayed in rows and columns. The tiles for one of the - two images is randomly re-arranged. The object of the - game is to find all the matching tiles by choosing a tile - from one image and a tile from the other image. As in the - first case, if the selected tiles do not match, they are - hidden after a short interval of time (you did remember the - position of those tiles, didn't you?); otherwise, they - remain visible and are now read-only. The game is over when - all tiles are matched; when this occurs, end-of-game special - effects occur that will dazzle the senses. There is an - option to view a small image to help you locate the matching - tiles on the non-randomized; useful if the image is complex. - There is no reset button at this time, to play again, the - user must therefore close and open the document. -\end{itemize} -The demo files are \texttt{acromemory1\_1.tex}, -\texttt{acromemory1\_2.tex}, \texttt{acromemory2\_1.tex} and -\texttt{acromemory2\_2.tex}. These files show how to lay out the -various elements of this package. - -\newtopic\textbf{Requirements:} Acrobat~7 Professional. - -\section{Distribution and Installation}\label{installation} - -The distribution comes with the following files: -\begin{itemize} - - \item \texttt{acromemory.dtx}, \texttt{acromemory.sty} and \texttt{acromemory.ins}: - These are the program files. The file \texttt{acromemory.dtx} has additional documentation - with more technical details than this manual. - - \item The files \texttt{acromemory1\_1.tex}, - \texttt{acromemory1\_2.tex}, \texttt{acromemory2\_1.tex} and - \texttt{acromemory2\_2.tex}: The demo files for this package. - - \item \texttt{aeb\_pro.js}: A JavaScript file that contains - security restricted methods. - - \item The \textsf{AeB Slicing} Batch Sequence: This is a batch - sequence that slices a given image into a specified number of - rows and columns. The documentation file name is - \texttt{aebslicing\_sequ\_doc.pdf} and comes with the - distribution. Installation details for \textsf{AeB Slicing} - are contained in its documentation. - - \item Sample image files, \texttt{dinos} (for the - \texttt{acromemory1} option) and \texttt{dpsweb} (this time - for the \texttt{acromemory2} option), contained in their own folders. - -\end{itemize} - -\newtopic When you unzip \texttt{acromemory.zip}, the folder -\texttt{acromemory} will be created, the entire distribution will be -placed in this folder. This folder must be on your {\LaTeX} search -path and you need to refresh your file name database if you are -using a {\TeX} system, such as MIK\TeX, that has this database -scheme. At the top level will be the {\LaTeX} package and demo -files. The subfolders are -\begin{itemize} - \item \texttt{aeb\_pro}: In this folder is \texttt{aeb\_pro.js}, a - JavaScript file that needs to be installed on your hard drive. - Copy this file to the User's - \texttt{JavaScripts} folder. To find this folder, execute the - script -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -app.getPath("user", "javascript"); -\end{Verbatim} -in the JavaScript Debugger Console window.\nhfootnote{Place the cursor -on the line containing this script and press the \texttt{Ctrl+Enter} -key.} The return value of this is the path to the -\texttt{JavaScripts} folder; for example, on my system it returns -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -/C/Documents and Settings/dps/Application Data/ - Adobe/Acrobat/8.0/JavaScripts -\end{Verbatim} -For user's of Acrobat 10.1.1 (or later), the JavaScripts folder has moved, -see my blog article \textsl{\href{http://www.acrotex.net/blog/?p=737}{Acrobat Security Changes in 10.1.1 and -Acro\!\TeX}}. - -After placing \texttt{aeb\_pro.js}, restart Acrobat so it will read this file. - \item \texttt{dpsweb}: Image files used in \texttt{acromemory2\_1.tex} and \texttt{acromemory2\_2.tex}. - \item \texttt{dinos}: Image files used in \texttt{acromemory1\_1.tex} and \texttt{acromemory1\_2.tex}. -\end{itemize} - -\newtopic Follow the installation instructions for the \textsf{AcroSlicing} batch sequence. - -\section{Package Options} - -There are a few options of this package: -\begin{itemize} - \item \texttt{acromemory1} and \texttt{acromemory2}: As described earlier. The \texttt{acromemory2} option - is the default, so it need never be used, actually. - \item \texttt{iconfile}: There are two methods of delivering the slices of the game board(s) to this package: - \begin{enumerate} - \item The default method is to have one file for each sliced - image. There is a numbering system for the slices, the same system - used by \textsf{Aeb Slicing} batch sequence, is to number them - with a two digit number across rows:\smallskip - -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -\texttt{\_01}, \texttt{\_02}, ... -\end{Verbatim} - - \item[]The demo files \texttt{acromemory1\_2.tex} and - \texttt{acromemory2\_2.tex} illustrate this method. - - \item All slices are placed in a single PDF in the same order just - described, that is listed by rows. There is an option in the - \textsf{AeB Slicing} batch sequence for ``packaging'' the - slices in this way. The demo files \texttt{acromemory1\_1.tex} - and \texttt{acromemory2\_1.tex} illustrate this method. - \end{enumerate} - The \textsf{AcroMemory} package expects, by default, the first method - described. By specifying the \texttt{iconfile} option, - \textsf{AcroMemory} will get the slices for the single PDF. - - \item \texttt{includehelp}: When building a file with the acromemory2 - option, you can also include a help image, a small picture of the game - board to help the user to match the randomized slices with the ones on - the non-randomized game board. Useful if the image is very complex. - The demo files \texttt{acromemory2\_1.tex} and - \texttt{acromemory2\_2.tex} both contain the necessary code for - producing the help feature, the commands only create the help feature - if the \texttt{includehelp} option is taken. -\end{itemize} - -\noindent\textbf{\color{red}Important.} You need to set the preferences of Acrobat as follows: -\begin{enumerate} - \item Start Acrobat, and select \texttt{Edit > Preferences} - \item Choose Trust Manager from the Categories panel on the left - \item Check the `Allow external content' check box -\end{enumerate} -\noindent The above settings allow the post-distillation assembly to take place. - -\section{Commands of the Package} - -This section describes the various commands available to you through -this package. This section can be skipped on first reading, most of -the commands are described less formally in subsequent sections. - -\newtopic The following commands are suitable for placement in the -preamble of your document. - -\begin{itemize} - \item \cs{theTotalTiles}: The total number of tiles in the game board. This parameter is required. - For example, \verb!\theTotalTiles{20}!. - \item \cs{theNumRows}: The number of rows in the game board. This parameter is required. - For example, \verb!\theNumRows{5}!. - \item \cs{theNumCols}: The number of columns in the game board. - This parameter is required. For example, \verb!\theNumCols{4}!. - \item \cs{theImportPath}: The import path to the base name of the image. The path - should use the path specification as defined in the \emph{PDF Reference}, and the file name should - have no extension. Required. For example,\smallskip -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -\theImportPath{myFig/myimages} -\end{Verbatim} - - There is an optional argument that is typically used when the \texttt{iconfile} is in effect - with the \texttt{acromemory2} option, and an image of the game board is different from the - path given by the optional argument; for example, -\begin{verbatim} - \theImportPath[dpsweb/dpsweb]{dpsweb/dpsweb_package} -\end{verbatim} - The required argument points the packaged icons, the optional argument points to - a file showing the entire image. See \texttt{acromemory2\_1.tex} for an - example of this situation. - \item \cs{theIconExt}: The extension of the image file(s). Required if different - from \texttt{pdf}. (Acrobat can make the conversion to PDF.) - \item \cs{theTeXImageWidth}: The scaled width of the rectangular game board. The - game board will be rescaled so that its width is equal to the value specified - by the argument of this command, e.g., \verb!\theTeXImageWidth{2in}!. - \item\cs{provideDimensions}: If the dimension of the game board is known, the width - and height can be entered with this command using the two parameters. For example, - \verb!\provideDimensions{2in}{2.5in}! (width, height). -\item \cs{bDebug}: A debugging command. When executed in the - preamble, more is written to the Acrobat console as the document is - opened the first time, also, the icons are initially visible so you - can see the layout, and quickly play the game. This was used in - development extensively to help develop the JavaScript. - -\end{itemize} - -\newtopic The rest of the commands in this section are properly -placed in the body of the document. They are the elements of the -game board(s) and supporting elements. - -\newtopic\textbf{Game Board(s)} -\begin{itemize} -\item \cs{ulCornerHere}: Used with the \texttt{acromemory1} option, -this command sets the upper left corner of the game board. It is -followed by either of the two commands \cs{reserveSpaceByDimension} or -\cs{reserveSpaceByFile}. - -\item \cs{LulCornerHere}, \cs{RulCornerHere}: Used with the -\texttt{acromemory2} option, these commands set the upper left -corner of the two game boards, on the left and the other on the -right. Each of these two commands is immediately followed by one of -the two commands \cs{reserveSpaceByDimension} or -\cs{reserveSpaceByFile}. - -\item \cs{reserveSpaceByDimension}: If the size of the image is -known, you can reserve space for it by using this command. It has -two arguments: the first argument is the width of the image, the -second is the height. This command is useful for -\texttt{acromemory1} where the game board is made up of some many -rows and columns of tiles whose dimensions you know. - -\item \cs{reserveSpaceByFile}: This command does an -\cs{includegraphics} in draft mode to get the dimensions of the game -board. The required space is made for the rescaled image. The -optional argument can be used to insert a file that has the same -aspect ratio as the puzzle, the default is the one specified by the -optional argument of \cs{theImportPath}, which, if not specified, is -the same as the required argument of \cs{theImportPath}. -\end{itemize} - -\goodbreak -\newtopic\textbf{Supporting fields} -\begin{itemize} - -\item \cs{messageBox}: A message text field. As the user works the -puzzle, the progress is reported to this field. -\end{itemize} - -\newtopic The following button is only appropriate when the \texttt{acromemory1} -option is taken. - -\begin{itemize} -\item \cs{playItAgain}: For the \texttt{acromemory1} option, this -button can be placed to reset the game board, the icons are -rearranged and hidden again. -\end{itemize} - -\newtopic When \texttt{acromemory2} and the \texttt{includehelp} -options are taken, these commands are available. See the -\texttt{acromemory.dtx} documentation for indications of modifying -these commands. - -\begin{itemize} -\item \cs{helpImage}: The button that will contain an icon of the -puzzle. There is one optional argument used to modify the appearance -of the button. - -\item \cs{setHelpImageWidth}: Used to set the width of the -\cs{helpImage} button. The default width is 1 inch. For example, -\verb!\setHelpImageWidth{1.5in}!. - -\item \cs{theHelpCaption}: Use this command to set the caption of -the help image. For example, \verb!\theHelpCaption{I need help}!. - -Captions with accents and such, you need to use Unicode escape -sequences, \verb!\uXXXX!, where \texttt{XXXX} are four hexadecimal -digits. For example, the caption specified by -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -\theHelpCaption{J\string\\u00FCrgen needs help} -\end{Verbatim} -will appear in the PDF document as `J\"{u}rgen needs help'. Notice the -\verb!\string\\! sequence that is needed from the {\LaTeX} source. - - -\item\cs{rolloverHelpButton}: The image is normally hidden until the -user rolls over the \cs{rolloverHelpButton}. The icon appears with a -caption under it, the content of the caption can be entered using -\cs{theHelpCaption}. This command has three parameters, one of which -is optional. The first (optional) parameter is used to change the -appearance of the button; the next two required parameters are the -width and height of the button. -\end{itemize} - - -\section{The \texttt{acromemory1} Option} - -In this game, there is only one game board with an even number of -tiles. Each tile has an identical twin, and all the tiles are -randomly rearranged. The object of the game is to find all the -matching pairs. See the demo files \texttt{acromemory1\_1.tex} and -\texttt{acromemory1\_2.tex} for examples of this game; the former -file uses the \texttt{iconfile} option, whereas the latter does not. -Both illustrate the \cs{reserveSpaceByDimension} and -\cs{provideDimensions}. See the comments in these files for more -details. - -The tiles for this game were created by a font that I have called -`Mini Pics Lil Dinos'. The source file for the creation of the -\texttt{myDinos.pdf}, the icon file, is \texttt{myDinos.tex}. In -this \texttt{tex} file, the \textsf{web} package is used to create -pages 2~inches by 2~inches. The \texttt{multido} package from -\textsf{PSTricks} was used to produce the pages. See -\texttt{myDinos.tex} for additional comments. - -To create your own icon file, you will need either a font set with -nice images on it, or you can be creative, perhaps using -\textsf{PSTricks} to create a series of figures. - -Given that you have created your icons in a single file, should you -wish to save each page to a separate file, you can execute the -following JavaScript in the console, while the icons file is open in -Acrobat.\smallskip -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -var thisPath = /.*\//i.exec(this.path)[0]; -var filename = this.documentFileName.replace(/\.pdf$/i,""); -for (var i = 0; i < this.numPages; i++) { - var j = i+1; - var index = (j < 10 ) ? ("0"+j) : (""+j); - this.extractPages({ - nStart: i, - cPath: thisPath+filename+"_" + index +".pdf" - }); -} -\end{Verbatim} -The code is included in the file \texttt{myDinos.tex}. - - -\section{The \texttt{acromemory2} Option} - -This option was the original concept, it was only after I completed -the two game board version did I decide to do the classic one game -board version. This is why \texttt{acromemory2} is the default. The -\texttt{acromemory2} version was much more interesting and -challenging to create. - -For this option you don't have to have a fancy font, any -(interesting) picture will do. The first step is to decide how many -rows and columns you want and then slice the image appropriately. -This is why I wrote the \textsf{AeB Slicing} batch sequence. Read -the documentation for \textsf{AeB Slicing} and slice your picture. - -Not only do you need slices of your picture, you also need an \texttt{EPS} -of your picture. This is used by latex to leave room for the game board. -Acrobat can make the conversion for you, as follows: - -\newtopic\textbf{To convert your image to EPS} -\begin{enumerate} -\item Bring your image into Acrobat -\item Click the \texttt{File > Save As} menu item -\item In the Save As dialog box, choose \texttt{Encapsulated PostScript (*.eps)} from the Save as type list -\item Navigate to the folder containing your tiles, and click the \texttt{Save} button -\end{enumerate} - -\newtopic See the demo files \texttt{acromemory2\_1.tex} and -\texttt{acromemory2\_2.tex} for examples of this game; the former -file uses the \texttt{iconfile} option, whereas the latter does not. -Both illustrate the \cs{reserveSpaceByFile}. See the comments in -these files for more details. - -Use either of these two demo files as a template to create your own -memory game. Don't forget that the \textsf{web} package has options -to apply a background color or a graphic---this will jazz up your -memory game. - -\section{Assembly} - -Try compiling one of the demo files. You must have the AeB already -installed on your system, of course. Be sure to specify your dvi to -postscript converter, for most of you that will be dvips. For example, -the preamble of the demo docs, and later your own documents should -appear as follows:\smallskip -\begin{Verbatim}[xleftmargin=20pt,fontsize=\fontsize{9}{11}\selectfont] -\documentclass{article} -\usepackage[designv,nodirectory,dvips]{web} % <-- specify dvips or dvipsone -\usepackage[execJS]{eforms} -\usepackage{graphicx} -\usepackage{acromemory} -\end{Verbatim} - -\newtopic LaTeX your source file, then invoke your dvi-to-ps -converter to obtain a postscript file. -Now open Acrobat Distiller and distill the new postscript document. -If all goes well, Acrobat will start, if not already, and the newly -created PDF document will open in it. Notice that the hour glass -cursor appears; this means that the post-assembly process is -ongoing: You note the one or two little dots on the page (where the -game boards should be), these are the fields creates by the commands -\cs{ulCornerHere}, \cs{LulCornerHere} or \cs{RulCornerHere}. They -are soon replaced by the game board(s). Amazing, simply amazing! - -After the hour glass cursor changes, perhaps to the hand tool, be -sure to save your document, \emph{this is important}. By saving the -document, the game board does not have to be rebuilt every -time the file is opened. Once assembled and saved, the game can be -played on Adobe Reader 7.0 or later. - -\newtopic\textbf{\color{red}Tip.} Use the \textsf{PDF Optimizer}, under the \textsf{Advance} menu, to -reduce the size of the file.\nhfootnote{For Acrobat 10, \textsf{PDF Optimizer} is called the -\textsf{Optimized PDF} under the \textsf{File \texttt{>} SaveAs}; also, you can use the \textsf{Reduced Size PDF} -menu function} For example, the file size of \texttt{acromemory2\_2.pdf} -after distillation was 462\,KB, but after running the -PDF Optimizer on it, the file size was reduced to 85\,KB! - - -\section{Final comments} - -Use any of the demo files as a template to create your own memory -game. Don't forget (use your memory?) that the \textsf{web} package -has options to apply a background color or a graphic---this will -jazz up your memory game. - -I do hope you find this game package fun, and that you will be -creative in its use. Perhaps you can apply the techniques of this -package to create your own game package, there are many -possibilities. - -\newtopic Now, I simply must get back to my retirement! \dps - - - -\end{document} diff --git a/texmf-dist/tex/latex/acromemory/acromemory.sty b/texmf-dist/tex/latex/acromemory/acromemory.sty index 03ce4e6e..a8010bad 100644 --- a/texmf-dist/tex/latex/acromemory/acromemory.sty +++ b/texmf-dist/tex/latex/acromemory/acromemory.sty @@ -1,689 +1,649 @@ -%% -%% This is file `acromemory.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% acromemory.dtx (with options: `copyright,package') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% acromemory.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{acromemory} - [2017/02/23 v1.1 AcroMemory (dps)] - -\RequirePackage{xkeyval} -\DeclareOptionX{acromemory1}{\acromemoryitrue} -\DeclareOptionX{acromemory2}{\acromemoryifalse} -\DeclareOptionX{iconfile}{\def\iconsInOneFile{true}} -\def\iconsInOneFile{false} -\DeclareOptionX{includehelp}{\includehelptrue} -\newif\ifincludehelp \includehelpfalse -\newif\ifacromemoryi \acromemoryifalse -\ProcessOptionsX -\RequirePackage{graphicx} -\RequirePackage{comment} -\ifacromemoryi - \def\RanIdentifier{\@gobble} - \includecomment{acromemory1} - \excludecomment{acromemory2} - \excludecomment{needhelp} -\else - \def\RanIdentifier{R\@gobble} - \includecomment{acromemory2} - \excludecomment{acromemory1} - \ifincludehelp - \includecomment{needhelp} - \else - \excludecomment{needhelp} - \fi -\fi -\def\theTotalTiles#1{\def\nTotalTiles{#1}} -\def\theNumRows#1{\def\nRows{#1}} -\def\theNumCols#1{\def\nCols{#1}} -\newcommand{\theImportPath}[2][]{% - \ifacromemoryi - \def\imageImportPath{#2} - \def\importpath{#2} - \else - \def\argi{#1}\ifx\argi\@empty - \def\imageImportPath{#2} - \def\importpath{#2} - \else - \def\imageImportPath{#1} - \def\importpath{#2} - \fi - \fi -} -\def\theIconExt#1{\def\iconsExt{#1}} -\def\iconsExt{pdf} -\def\theTeXImageWidth#1{\def\texImageWidth{#1}% - {\dimen0 = \texImageWidth \xdef\imageWidth{\strip@pt\dimen0 }}% -} -\newcommand{\provideDimensions}[3][]{% - \def\argi{#1}\ifx\argi\@empty - {\dimen0 = #2 \xdef\trueImageWidth{\strip@pt\dimen0 }% - \dimen0 = #3 \xdef\trueImageHeight{\strip@pt\dimen0 }}% - \else - \def\trueImageWidth{#1}\def\trueImageHeight{#2}% - \fi - \def\bProvideDimen{true}% -} -\def\bProvideDimen{false}% -\def\trueImageWidth{0}\def\trueImageHeight{0}% -\def\bDebug{\def\memDebug{true}} -\def\memDebug{false} -\newcommand{\helpImage}[1][]{{% - \ifincludehelp{\setbox0 = \hbox{% - \includegraphics[draft,width=\helpImageWidth]% - {\imageImportPath}}%[\Ff\FfReadOnly] - \dimen0=\ht0 \advance\dimen0by14bp\ht0=\dimen0 - \pushButton[\BC{}\BG{}\S{S}#1]{memoryhelp}{\the\wd0}{\the\ht0}}\fi -}} -\newcommand{\rolloverHelpButton}[3][]{% - \ifincludehelp - \pushButton[\CA{Help}\BC{0 0 1}\BG{0.89 0.9 0.9} - \AA{\AAMouseEnter{\JS{% - var f = this.getField("memoryhelp");\r - oIcon = f.buttonGetIcon(1);\r - f.buttonPosition = position.iconTextV;\r - f.buttonSetIcon(oIcon,0);\r - f.buttonSetCaption({cCaption: "\helpCaption"});\r - f.textColor=color.blue;\r - }}% - \AAMouseExit{\JS{% - var f = this.getField("memoryhelp");\r - f.buttonPosition = position.iconOnly;\r - f.buttonSetIcon(nullIcon,0); - }}}#1]{checkhelp}{#2}{#3}% - \fi -} -\newcommand{\setHelpImageWidth}[1]{\def\helpImageWidth{#1}} -\def\helpImageWidth{1in} -\def\theHelpCaption#1{\def\helpCaption{#1}} -\theHelpCaption{A little help} -\newcommand{\messageBox}[3][]{% - \textField[#1\Ff\FfMultiline]{MsgBox}{#2}{#3}} -\newcommand{\playItAgain}[3][]{\ifacromemoryi{\small - \pushButton[\CA{Play again}#1\A{\JS{playagain();}}]% - {playAgain}{#2}{#3}}% - \fi -} -\def\ulCornerHere{\makebox[0pt][l]% - {\pushButton[\autoCenter{n}]{ulcorner}{0pt}{0pt}% - \pushButton[\autoCenter{n}\BC{}\BG{}\FB{true}\I{null}\TP{1}]{nullIconBtn}{0pt}{0pt}% - }} -\def\LulCornerHere{\makebox[0pt][l]% - {\pushButton[\autoCenter{n}]{Lulcorner}{0pt}{0pt}% - \pushButton[\autoCenter{n}\BC{}\BG{}\FB{true}\I{null}\TP{1}]{nullIconBtn}{0pt}{0pt}% - }} -\def\RulCornerHere{\makebox[0pt][l]% - {\pushButton[\autoCenter{n}]{Rulcorner}{0pt}{0pt}}} -\def\reserveSpaceByDimension#1#2{% - \hbox{\ifpreview\setlength\fboxrule{0.4pt}\setlength\fboxsep{0pt}% - \@tempdima=#1\advance\@tempdima by-\fboxrule - \@tempdimb=#2\advance\@tempdimb by-\fboxrule - \fbox{\parbox[t][\@tempdimb][t]{\@tempdima}{\kern0pt\hfill\vfill}}% - \else\parbox[t][#2][t]{#1}{\kern0pt\hfill\vfill}\fi}% -} -\newcommand{\reserveSpaceByFile}[1][\imageImportPath]% - {{\setbox0=\hbox{\includegraphics[draft,width=\texImageWidth]{#1}}% - \reserveSpaceByDimension{\wd0}{\ht0}}} -\begin{insDLJS*}[_MemLoaded]{memjs} -\begin{newsegment}{AcroMemory 1: Global Data and Initialization} -// Global Data: -_MemLoaded=true; -var randomDPS = new Array(\nTotalTiles+1); -var imageNames = new Array(); -imageNames.push("null"); - -var dpsl = randomDPS.length; -var timeout = 10; -var shutdown, rAE; -var ok2Continue = true; -var nRows = \nRows; -var nCols = \nCols; -var nCorrect = 0; -var nAttempts = 0; - -for (i=1; i<=\nTotalTiles; i++) randomDPS[i]=i; -var f=this.getField("nullIconBtn"); -var nullIcon=f.buttonGetIcon(); -var debug = \memDebug; -\end{newsegment} - -\begin{acromemory1} -\begin{newsegment}{AcroMemory 2: Initialize Pic Names} -var nttl = \nTotalTiles/2; -for ( var i = 1; i <= nttl; i++) -{ - imageNames.push("pic"+i +".0"); - imageNames.push("pic"+i +".1"); -} -var currentChoice = ""; -var currentTile1 = 0; -var currentTile2 = 0; -var currentIconName = ""; -\end{newsegment} -\end{acromemory1} -\begin{acromemory2} -\begin{newsegment}{AcroMemory 2: Initialize Pic Names} -var nttl = \nTotalTiles; -for ( var i = 1; i <= nttl; i++) -{ - imageNames.push("pic."+i); -} -var LcurrentChoice = 0; -var LcurrentTile = 0; -var RcurrentChoice = 0; -var RcurrentTile = 0; -\end{newsegment} -\end{acromemory2} -\begin{newsegment}{AcroMemory 3: Bubble Sort} -// Clear DPS: - -function clearDPS() -{ - for ( var i=1; i<=\nTotalTiles; i++ ) - { - var f = this.getField("Mem\RanIdentifier button."+i); - f.buttonSetIcon(nullIcon); - } -} - -// Mixup DPS: -function mixupDPS() -{ - var i, rand; - for (i=1; i<= \nTotalTiles; i++) - { - var rand = Math.random(); - rand *= dpsl*dpsl; - rand = Math.ceil(rand); - rand = rand \% dpsl; - if (rand == 0 ) rand = 1; - temp = randomDPS[i]; - randomDPS[i]=randomDPS[rand]; - randomDPS[rand]=temp; - } -} - -// Show DPS: -function showDPS() -{ - for ( var i=1; i<=\nTotalTiles; i++ ) - { - var oIcon = this.getIcon(imageNames[randomDPS[i]]); - var f = this.getField("Mem\RanIdentifier button."+i); - f.buttonSetIcon(oIcon); - } -} - -// Sortout DPS: begin bubble sort -function sortoutDPS() -{ - outerLoop(randomDPS.length-1); -} -function outerLoop(i) -{ - if ( ok2Continue && (i >= 0) ) shutdown = app.setTimeOut("app.clearTimeOut(shutdown); innerLoop("+i+",1);", timeout); -} -function innerLoop(i,j) -{ - if ( j <= i ) - { - if (randomDPS[j-1] > randomDPS[j]) - { - var temp = randomDPS[j-1]; - randomDPS[j-1] = randomDPS[j]; - randomDPS[j] = temp; - var oIcon = this.getIcon(imageNames[randomDPS[j-1]]); - var f = this.getField("Mem\RanIdentifier button."+(j-1)); - f.buttonSetIcon(oIcon); - var oIcon = this.getIcon(imageNames[randomDPS[j]]); - var f = this.getField("Mem\RanIdentifier button."+j); - f.buttonSetIcon(oIcon); - } - j++ - if ( ok2Continue ) shutdown = app.setTimeOut("app.clearTimeOut(shutdown); innerLoop("+i+","+j+");", timeout); - } - else - { - i--; - outerLoop(i); - } -} -function randomizePuzzle() { - mixupDPS(); - for ( var i=1; i<=\nTotalTiles; i++) { - var g = this.getField("Mem\RanIdentifier button."+i); - var oIcon = this.getIcon(imageNames[randomDPS[i]]); - g.buttonSetIcon(oIcon,1); - if (debug) g.buttonSetIcon(oIcon,0); - } -} -\end{newsegment} -\begin{acromemory1} -\begin{newsegment}{AcroMemory 4: Tile Processing} -function selectTile() // right side randomly arranged -{ - var f = event.target; - var oIcon = f.buttonGetIcon(1); - f.buttonSetIcon(oIcon,0); - var fname = f.name; - var re1 = /Membutton\.(\d+)/; - var index = re1.exec(fname); - if (debug) console.println("index = " + index[1]); - var thisiconName = imageNames[randomDPS[index[1]]]; - if (debug) console.println("thisiconName = " + thisiconName); - var re = /pic(\d+)\.(\d)/; - var image = re.exec(thisiconName) - if (debug) console.println("selected: " + image[1] + "." + image[2]); - if ( currentChoice == "" ) { - currentChoice = fname; - currentTile1=image[1]; - currentTile2=image[2]; - currentIconName = thisiconName; - return; - } - if ( (image[1] == currentTile1) && (image[2] != currentTile2) ) - { // right choice - nCorrect++; - nAttempts++ - f.readonly = true; - var g = this.getField(currentChoice); - g.readonly = true; - reportProgress(nCorrect,nAttempts); - resetCounters(); - - } else { // wrong choice - nAttempts++ - reportProgress(nCorrect,nAttempts); - rAE = app.setTimeOut("resetAfterError(\""+currentChoice+"\",\""+fname+"\")", 1000); - resetCounters(); - } - -} -function resetCounters () -{ - currentChoice = ""; - currentTile1 = 0; - currentTile2 = 0; - currentIconName = ""; -} -function resetAfterError(l,r) -{ - try { app.clearTimeOut(rAE); } catch(e) {}; - var f = this.getField(l); - var g = this.getField(r); - if (!debug) g.buttonSetIcon(nullIcon,0); -// g.strokeColor=color.black; - if (!debug) f.buttonSetIcon(nullIcon,0); -// f.strokeColor=color.black; -} -function executePostGameEffects() {return;} -function playagain() -{ - for ( var i=1; i<=\nTotalTiles; i++) { - var g = this.getField("Membutton."+i); - g.buttonSetIcon(nullIcon,0); - } - g = this.getField("Membutton"); - g.readonly=false; - resetCounters(); - nCorrect = 0; - nAttempts = 0; - reportProgress(nCorrect,nAttempts); - randomizePuzzle(); -} -\end{newsegment} -\end{acromemory1} -\begin{acromemory2} -\begin{newsegment}{AcroMemory 4: Tile Processing} -function selectRandomTile(nCnt,n) // right side randomly arranged -{ - if ( RcurrentChoice != 0 ) return; - RcurrentChoice = nCnt; - RcurrentTile = n; - nAttempts++; - var f = event.target; - f.strokeColor = ["RGB", 0, .6, 0]; - var oIcon = f.buttonGetIcon(1); - f.buttonSetIcon(oIcon,0); - if ( LcurrentChoice != 0 ) { - if (debug) console.println("LcurrentChoice = " + LcurrentChoice + ", RcurrentChoice = " + RcurrentChoice); - if ( LcurrentChoice == nCnt ) {// right answer - // need to make right side hidden and readonly - // need to make this button readonly - var g = this.getField("MemLbutton."+LcurrentChoice); - g.strokeColor=color.transparent; - g.readonly = true; - f.strokeColor=color.transparent; - f.readonly = true; - if (++nCorrect == \nTotalTiles ) // game complete - executePostGameEffects(); - reportProgress(nCorrect,nAttempts); - resetCounters(); - } else { // wrong answer - // need to set current choices back to zero - reportProgress(nCorrect,nAttempts); - rAE = app.setTimeOut("resetAfterError("+LcurrentTile+","+RcurrentTile+")", 1000); - resetCounters(); - } - } -} -function selectNonRandomTile(nCnt,n) // left side, arranged in natural order -{ - if ( LcurrentChoice != 0 ) return; - LcurrentChoice = nCnt; - LcurrentTile = n; - var f = event.target; - f.strokeColor = ["RGB", 0, .6, 0]; - var oIcon = f.buttonGetIcon(1); - f.buttonSetIcon(oIcon,0); - if ( RcurrentChoice != 0 ) { - if (debug) console.println("LcurrentChoice = " + LcurrentChoice + ", RcurrentChoice = " + RcurrentChoice); - if ( RcurrentChoice == nCnt ) {// right answer - // need to make right side hidden and readonly - // need to make this button readonly - var g = this.getField("MemRbutton."+RcurrentTile); - g.strokeColor=color.transparent; - g.readonly = true; - f.readonly = true; - f.strokeColor=color.transparent; - if (++nCorrect == \nTotalTiles ) // game complete - executePostGameEffects(); - reportProgress(nCorrect,nAttempts); - resetCounters(); - } else { // wrong answer - // need to set current choices back to zero - reportProgress(nCorrect,nAttempts); - rAE = app.setTimeOut("resetAfterError("+LcurrentTile+","+RcurrentTile+")", 1000); - resetCounters(); - } - } -} -function resetCounters () -{ - LcurrentChoice = 0; - RcurrentChoice = 0; - LcurrentTile = 0; - RcurrentTile = 0; -} -function resetAfterError(l,r) -{ - try { app.clearTimeOut(rAE); } catch(e) {}; - var f = this.getField("MemLbutton."+l); - var g = this.getField("MemRbutton."+r); - if (!debug) g.buttonSetIcon(nullIcon,0); - g.strokeColor=color.black; - if (!debug) f.buttonSetIcon(nullIcon,0); - f.strokeColor=color.black; -} -function executePostGameEffects() { - sortoutDPS(); - var fL = this.getField("MemLbutton.1"); - var fR = this.getField("MemRbutton.1"); - var LulCorner = fL.rect; - var RulCorner = fR.rect; - var mWidth = LulCorner[2]-LulCorner[0]; - var mHeight = LulCorner[1]-LulCorner[3]; - var nCnt = 0; - for ( var i=0; i= 0) ) shutdown = % +app.setTimeOut("app.clearTimeOut(shutdown); % +innerLoop("+i+",1);", timeout); +} +function innerLoop(i,j) +{ + if ( j <= i ) + { + if (randomAM[j-1] > randomAM[j]) + { + var temp = randomAM[j-1]; + randomAM[j-1] = randomAM[j]; + randomAM[j] = temp; + var oIcon = this.getIcon(imageNames[randomAM[j-1]]); + var f = this.getField("Mem\RanIdentifier button."+(j-1)); + f.buttonSetIcon(oIcon); + var oIcon = this.getIcon(imageNames[randomAM[j]]); + var f = this.getField("Mem\RanIdentifier button."+j); + f.buttonSetIcon(oIcon); + } + j++ + if ( ok2Continue ) shutdown = % +app.setTimeOut("app.clearTimeOut(shutdown); % +innerLoop("+i+","+j+");", timeout); + } + else + { + i--; + outerLoop(i); + } +} +function randomizePuzzle() { + mixupAM(); + for ( var i=1; i<=\nTotalTiles; i++) { + var g = this.getField("Mem\RanIdentifier button."+i); + var oIcon = this.getIcon(imageNames[randomAM[i]]); + g.buttonSetIcon(oIcon,1); + if (debug) g.buttonSetIcon(oIcon,0); + } + isRandomized=true; +} +\end{newsegment} +\begin{acromemory1} +\begin{newsegment}{AcroMemory 4: Tile Processing} +var currentIndex=""; +var currentName=""; +var _bOK1=true; +function selectTile() // right side randomly arranged +{ + if(!isRandomized){ + app.alert(\initFirstiMsg); + return; + } + if (!_bOK1) return; + var f = event.target; + var oIcon = f.buttonGetIcon(1); + f.buttonSetIcon(oIcon,0); + var fname = f.name; + var re1 = /Membutton\.(\d+)/; + var index = re1.exec(fname); + if (debug) console.println("index = " + index[1]); + var thisiconName = imageNames[randomAM[index[1]]]; + if (debug) console.println("thisiconName = " + thisiconName); + if ( currentChoice == "" ) { + currentChoice = fname; + currentIconName = thisiconName; + return; + } + if ( (thisiconName == currentIconName) ) + { // right choice + nCorrectAM++; + nAttemptsAM++ + f.readonly = true; + var g = this.getField(currentChoice); + g.readonly = true; + reportProgress(nCorrectAM,nAttemptsAM); + resetCountersAM(); + + } else { // wrong choice + nAttemptsAM++ + _bOK1=false; + reportProgress(nCorrectAM,nAttemptsAM); + rAE = app.setTimeOut(% +"resetAfterError(\""+currentChoice+"\",\""+fname+"\");% +_bOK1=true;", 1000); + resetCountersAM(); + } + +} +function resetCountersAM () +{ + currentChoice = ""; + currentIconName = ""; +} +function resetAfterError(l,r) +{ + try { app.clearTimeOut(rAE); } catch(e) {}; + var f = this.getField(l); + var g = this.getField(r); + if (!debug) g.buttonSetIcon(nullIcon,0); + if (!debug) f.buttonSetIcon(nullIcon,0); +} +function executePostGameEffects() {return;} +function playagain() +{ + for ( var i=1; i<=\nTotalTiles; i++) { + var g = this.getField("Membutton."+i); + g.buttonSetIcon(nullIcon,0); + } + g = this.getField("Membutton"); + g.readonly=false; + resetCountersAM(); + nCorrectAM = 0; + nAttemptsAM = 0; + reportProgress(nCorrectAM,nAttemptsAM); + randomizePuzzle(); +} +\end{newsegment} +\end{acromemory1} +\begin{acromemory2} +\begin{newsegment}{AcroMemory 4: Tile Processing} +// save original positions of fields +var aLRect=new Array(); +var aRRect=new Array(); +aLRect.push("null"); +aRRect.push("null"); +var f=this.getField("MemLbutton"); +var g=f.getArray(); +for (var i=0; i