From 542c5a785f8db8d4469e296c69c86bc030285f68 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 12 Jul 2017 23:23:45 +0900 Subject: add acromemory --- texmf-dist/doc/latex/acromemory/README.md | 44 + texmf-dist/doc/latex/acromemory/acromemory_man.pdf | Bin 0 -> 70213 bytes .../latex/acromemory/examples/acromemory1_1.pdf | Bin 0 -> 230931 bytes .../latex/acromemory/examples/acromemory1_1.tex | 77 + .../latex/acromemory/examples/acromemory1_2.tex | 77 + .../latex/acromemory/examples/acromemory2_1.pdf | Bin 0 -> 506379 bytes .../latex/acromemory/examples/acromemory2_1.tex | 86 + .../latex/acromemory/examples/acromemory2_2.tex | 84 + .../latex/acromemory/examples/dinos/myDinos.eps | 8145 ++++++++++++++++++++ .../latex/acromemory/examples/dinos/myDinos.pdf | Bin 0 -> 20185 bytes .../latex/acromemory/examples/dinos/myDinos.tex | 43 + .../latex/acromemory/examples/dinos/myDinos_01.pdf | Bin 0 -> 14476 bytes .../latex/acromemory/examples/dinos/myDinos_02.pdf | Bin 0 -> 14475 bytes .../latex/acromemory/examples/dinos/myDinos_03.pdf | Bin 0 -> 14475 bytes .../latex/acromemory/examples/dinos/myDinos_04.pdf | Bin 0 -> 14476 bytes .../latex/acromemory/examples/dinos/myDinos_05.pdf | Bin 0 -> 14475 bytes .../latex/acromemory/examples/dinos/myDinos_06.pdf | Bin 0 -> 14477 bytes .../latex/acromemory/examples/dinos/myDinos_07.pdf | Bin 0 -> 14476 bytes .../latex/acromemory/examples/dinos/myDinos_08.pdf | Bin 0 -> 14477 bytes .../latex/acromemory/examples/dinos/myDinos_09.pdf | Bin 0 -> 14477 bytes .../latex/acromemory/examples/dinos/myDinos_10.pdf | Bin 0 -> 14475 bytes .../latex/acromemory/examples/dpsweb/dpsweb.eps | 6467 ++++++++++++++++ .../latex/acromemory/examples/dpsweb/dpsweb.pdf | Bin 0 -> 227623 bytes .../latex/acromemory/examples/dpsweb/dpsweb_01.pdf | Bin 0 -> 211447 bytes .../latex/acromemory/examples/dpsweb/dpsweb_02.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_03.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_04.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_05.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_06.pdf | Bin 0 -> 211447 bytes .../latex/acromemory/examples/dpsweb/dpsweb_07.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_08.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_09.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_10.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_11.pdf | Bin 0 -> 211447 bytes .../latex/acromemory/examples/dpsweb/dpsweb_12.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_13.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_14.pdf | Bin 0 -> 211443 bytes .../latex/acromemory/examples/dpsweb/dpsweb_15.pdf | Bin 0 -> 211449 bytes .../latex/acromemory/examples/dpsweb/dpsweb_16.pdf | Bin 0 -> 211445 bytes .../latex/acromemory/examples/dpsweb/dpsweb_17.pdf | Bin 0 -> 211447 bytes .../latex/acromemory/examples/dpsweb/dpsweb_18.pdf | Bin 0 -> 211447 bytes .../latex/acromemory/examples/dpsweb/dpsweb_19.pdf | Bin 0 -> 211447 bytes .../latex/acromemory/examples/dpsweb/dpsweb_20.pdf | Bin 0 -> 211447 bytes .../acromemory/examples/dpsweb/dpsweb_package.pdf | Bin 0 -> 4121481 bytes texmf-dist/source/latex/acromemory/acromemory.dtx | 918 +++ texmf-dist/source/latex/acromemory/acromemory.ins | 59 + .../source/latex/acromemory/aeb_pro/aeb_pro.js | 106 + .../source/latex/acromemory/doc/acromemory_man.tex | 510 ++ texmf-dist/tex/latex/acromemory/acromemory.sty | 689 ++ 49 files changed, 17305 insertions(+) create mode 100644 texmf-dist/doc/latex/acromemory/README.md create mode 100644 texmf-dist/doc/latex/acromemory/acromemory_man.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory1_2.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/acromemory2_2.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.eps create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.tex create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_01.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_02.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_03.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_04.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_05.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_06.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_07.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_08.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_09.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_10.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_01.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_02.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_03.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_04.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_05.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_06.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_07.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_08.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_09.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_10.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_11.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_12.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_13.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_14.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_15.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_16.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_17.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_18.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_19.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_20.pdf create mode 100644 texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_package.pdf create mode 100644 texmf-dist/source/latex/acromemory/acromemory.dtx create mode 100644 texmf-dist/source/latex/acromemory/acromemory.ins create mode 100644 texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js create mode 100644 texmf-dist/source/latex/acromemory/doc/acromemory_man.tex create mode 100644 texmf-dist/tex/latex/acromemory/acromemory.sty (limited to 'texmf-dist') diff --git a/texmf-dist/doc/latex/acromemory/README.md b/texmf-dist/doc/latex/acromemory/README.md new file mode 100644 index 00000000..ebdc5008 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/README.md @@ -0,0 +1,44 @@ +aebacromemory --- D. P. Story +Dated: 2017-02-23 + +AcroMemory requires Adobe Distiller as the PDF creator, as well as the +use of Acrobat. + +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. + +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). + +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. + +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..191e9a6a Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/acromemory_man.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf b/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf new file mode 100644 index 00000000..066e7aa3 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex new file mode 100644 index 00000000..f45a114c --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/acromemory1_1.tex @@ -0,0 +1,77 @@ +\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 new file mode 100644 index 00000000..0dbb9537 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/acromemory1_2.tex @@ -0,0 +1,77 @@ +\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_1.pdf b/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf new file mode 100644 index 00000000..8c7dff82 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex b/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex new file mode 100644 index 00000000..e8ceb56f --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/acromemory2_1.tex @@ -0,0 +1,86 @@ +\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 new file mode 100644 index 00000000..a61b7432 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/acromemory2_2.tex @@ -0,0 +1,84 @@ +\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 new file mode 100644 index 00000000..43bc3134 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.eps @@ -0,0 +1,8145 @@ +%!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 +%%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 +} def +/ct_GetGlyphOutline +{ + gsave + initmatrix newpath + exch findfont dup + length 1 add dict + begin + ct_CopyFont + /Encoding Encoding dup length array copy + dup + 4 -1 roll + 0 exch put + def + currentdict + end + /ct_EuroFont exch definefont + 1000 scalefont setfont + 0 0 moveto + [ + <00> stringwidth + <00> false charpath + pathbbox + [ + {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall + grestore + counttomark 8 add +} +def +/ct_MakeGlyphProc +{ + ] cvx + /ct_PSBuildGlyph cvx + ] cvx +} def +/ct_PSBuildGlyph +{ + gsave + 8 -1 roll pop + 7 1 roll + 6 -2 roll ct_FontMatrix transform 6 2 roll + 4 -2 roll ct_FontMatrix transform 4 2 roll + ct_FontMatrix transform + currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse + dup 9 1 roll + { + currentdict /StrokeWidth 2 copy known + { + get 2 div + 0 ct_FontMatrix dtransform pop + 5 1 roll + 4 -1 roll 4 index sub + 4 1 roll + 3 -1 roll 4 index sub + 3 1 roll + exch 4 index add exch + 4 index add + 5 -1 roll pop + } + { + pop pop + } + ifelse + } + if + setcachedevice + ct_FontMatrix concat + ct_PSPathOps begin + exec + end + { + currentdict /StrokeWidth 2 copy known + { get } + { pop pop 0 } + ifelse + setlinewidth stroke + } + { + fill + } + ifelse + grestore +} def +/ct_PSPathOps 4 dict dup begin + /m {moveto} def + /l {lineto} def + /c {curveto} def + /cp {closepath} def +end +def +/ct_matrix1000 [1000 0 0 1000 0 0] def +/ct_AddGlyphProc +{ + 2 index findfont dup length 4 add dict + begin + ct_CopyFont + /CharStrings CharStrings dup length 1 add dict copy + begin + 3 1 roll def + currentdict + end + def + /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def + /ct_PSBuildGlyph /ct_PSBuildGlyph load def + /ct_PSPathOps /ct_PSPathOps load def + currentdict + end + definefont pop +} +def +systemdict /languagelevel known +{ + /ct_AddGlyphToPrinterFont { + 2 copy + ct_GetGlyphOutline 3 add -1 roll restore + ct_MakeGlyphProc + ct_AddGlyphProc + } def +} +{ + /ct_AddGlyphToPrinterFont { + pop pop restore + Adobe_CTFauxDict /$$$FONTNAME get + /Euro + Adobe_CTFauxDict /$$$SUBSTITUTEBASE get + ct_EuroDict exch get + ct_AddGlyphProc + } def +} ifelse +/AdobeSansMM +{ +556 0 24 -19 541 703 + { + 541 628 m + 510 669 442 703 354 703 c + 201 703 117 607 101 444 c + 50 444 l + 25 372 l + 97 372 l + 97 301 l + 49 301 l + 24 229 l + 103 229 l + 124 67 209 -19 350 -19 c + 435 -19 501 25 509 32 c + 509 131 l + 492 105 417 60 343 60 c + 267 60 204 127 197 229 c + 406 229 l + 430 301 l + 191 301 l + 191 372 l + 455 372 l + 479 444 l + 194 444 l + 201 531 245 624 348 624 c + 433 624 484 583 509 534 c + cp + 556 0 m + } +ct_PSBuildGlyph +} def +/AdobeSerifMM +{ +500 0 10 -12 484 692 + { + 347 298 m + 171 298 l + 170 310 170 322 170 335 c + 170 362 l + 362 362 l + 374 403 l + 172 403 l + 184 580 244 642 308 642 c + 380 642 434 574 457 457 c + 481 462 l + 474 691 l + 449 691 l + 433 670 429 657 410 657 c + 394 657 360 692 299 692 c + 204 692 94 604 73 403 c + 22 403 l + 10 362 l + 70 362 l + 69 352 69 341 69 330 c + 69 319 69 308 70 298 c + 22 298 l + 10 257 l + 73 257 l + 97 57 216 -12 295 -12 c + 364 -12 427 25 484 123 c + 458 142 l + 425 101 384 37 316 37 c + 256 37 189 84 173 257 c + 335 257 l + cp + 500 0 m + } +ct_PSBuildGlyph +} def +end +%%EndFile +setglobal +Adobe_CoolType_Core begin /$None SetSubstituteStrategy end +%%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-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 +/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 +/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 +%%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 +%%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: +%%EOF diff --git a/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.pdf new file mode 100644 index 00000000..699dcef6 Binary files /dev/null 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 new file mode 100644 index 00000000..4d267631 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos.tex @@ -0,0 +1,43 @@ +\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 new file mode 100644 index 00000000..fdbe97bc Binary files /dev/null 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 new file mode 100644 index 00000000..5bdae18b Binary files /dev/null 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 new file mode 100644 index 00000000..598d9d0e Binary files /dev/null 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 new file mode 100644 index 00000000..8d7afb29 Binary files /dev/null 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 new file mode 100644 index 00000000..8c5cc36a Binary files /dev/null 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 new file mode 100644 index 00000000..b0ddb829 Binary files /dev/null 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 new file mode 100644 index 00000000..3d9aae48 Binary files /dev/null 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 new file mode 100644 index 00000000..4ba868d9 Binary files /dev/null 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 new file mode 100644 index 00000000..9b6eb439 Binary files /dev/null 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 new file mode 100644 index 00000000..e528255e Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dinos/myDinos_10.pdf differ diff --git a/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps new file mode 100644 index 00000000..07794d48 --- /dev/null +++ b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.eps @@ -0,0 +1,6467 @@ +%!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 new file mode 100644 index 00000000..609f88a3 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb.pdf 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 new file mode 100644 index 00000000..542096c2 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_01.pdf 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 new file mode 100644 index 00000000..150943bc Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_02.pdf 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 new file mode 100644 index 00000000..1cbe5b96 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_03.pdf 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 new file mode 100644 index 00000000..2a8bfe17 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_04.pdf 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 new file mode 100644 index 00000000..355ae7c7 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_05.pdf 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 new file mode 100644 index 00000000..3dc40c46 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_06.pdf 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 new file mode 100644 index 00000000..33ddabd0 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_07.pdf 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 new file mode 100644 index 00000000..e1fa845e Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_08.pdf 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 new file mode 100644 index 00000000..90e87116 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_09.pdf 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 new file mode 100644 index 00000000..8aae7714 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_10.pdf 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 new file mode 100644 index 00000000..1ad89c15 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_11.pdf 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 new file mode 100644 index 00000000..63166d24 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_12.pdf 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 new file mode 100644 index 00000000..adfe228f Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_13.pdf 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 new file mode 100644 index 00000000..d20fc082 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_14.pdf 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 new file mode 100644 index 00000000..e72fda95 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_15.pdf 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 new file mode 100644 index 00000000..08e5d1dc Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_16.pdf 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 new file mode 100644 index 00000000..c34ce9fd Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_17.pdf 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 new file mode 100644 index 00000000..016079cb Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_18.pdf 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 new file mode 100644 index 00000000..8bf2813c Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_19.pdf 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 new file mode 100644 index 00000000..a98dbe99 Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_20.pdf 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 new file mode 100644 index 00000000..7ae86f8b Binary files /dev/null and b/texmf-dist/doc/latex/acromemory/examples/dpsweb/dpsweb_package.pdf differ diff --git a/texmf-dist/source/latex/acromemory/acromemory.dtx b/texmf-dist/source/latex/acromemory/acromemory.dtx new file mode 100644 index 00000000..8770f3c3 --- /dev/null +++ b/texmf-dist/source/latex/acromemory/acromemory.dtx @@ -0,0 +1,918 @@ +% \iffalse +%<*copyright> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% 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)] +%<*driver> +\documentclass{ltxdoc} +\usepackage[colorlinks,hyperindex]{hyperref} +\pdfstringdefDisableCommands{\let\\\textbackslash}% +\EnableCrossrefs \CodelineIndex +\OnlyDescription % comment out for implementation details +\begin{document} + \GetFileInfo{acromemory.sty} + \title{The \texttt{AcroMemory} Package\texorpdfstring{\\}{: } + A member of the AeB Pro family} + \author{D. P. Story\\ + Email: \texttt{storyd@owc.edu}} + \date{processed \today} + \maketitle + \tableofcontents + \let\Email\texttt + \DocInput{acromemory.dtx} + \PrintIndex +\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. +% \section{Introduction} +% +% At the instigation of my erstwhile friend, J\"{u}ergen, 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 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 in%to tiles +% (or slices) arrayed in rows and columns. The tiles for +% one of the two images has been randomly re-arranged. The object of the game is to find all the +% matching tiles by choosing a tiles from one image, and tile from the other image. As in the +% first case, if the selected tiles do not match, they are hidden after an 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 close and open the document. +% \end{itemize} +% The demo files are \texttt{acromemory1.tex} and \texttt{acromemory2.tex}. These files show how to +% lay out the various elements of this package. +% +% \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. +% +% \begin{macrocode} +%<*package> +\RequirePackage{xkeyval} +% \end{macrocode} +% \begin{macro}{acromemory1} +% One playing board, where you try to match identical icons. +% \begin{macrocode} +\DeclareOptionX{acromemory1}{\acromemoryitrue} +% \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{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} +% 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} +% \begin{macrocode} +\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 +% \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{macrocode} +\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}% +% \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. +% \begin{macrocode} +\def\bDebug{\def\memDebug{true}} +\def\memDebug{false} +% \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 +% \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{\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} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\messageBox} +% A message text field, as the user works the puzzle, the progress is reported +% to this field. +% \begin{macrocode} +\newcommand{\messageBox}[3][]{% + \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{macrocode} +\newcommand{\playItAgain}[3][]{\ifacromemoryi{\small + \pushButton[\CA{Play again}#1\A{\JS{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{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}% +} +% \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.} +% \begin{macrocode} +\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; +% \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 +% viewing the game. +% \changes{v1.1}{2017/02/23}{use f.buttonGetIcon to get null icon object} +% \begin{macrocode} +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 +% \end{macrocode} +% \Finale +\endinput diff --git a/texmf-dist/source/latex/acromemory/acromemory.ins b/texmf-dist/source/latex/acromemory/acromemory.ins new file mode 100644 index 00000000..9fb50c9a --- /dev/null +++ b/texmf-dist/source/latex/acromemory/acromemory.ins @@ -0,0 +1,59 @@ +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% Copyright 1999-2006 D. P. Story +%% +%% This file is part of the `AcroTeX eDucation Bundle'. +%% ------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.2 of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\filedate{2006/11/06} +\def\batchfile{acromemory.ins} +% +\input docstrip +\ifx\generate\undefined + \Msg{**********************************************} + \Msg{*} + \Msg{* This installation requires docstrip} + \Msg{* version 2.4 or later.} + \Msg{*} + \Msg{* An older version of docstrip has been input} + \Msg{*} + \Msg{**********************************************} + \errhelp{Move or rename old docstrip.tex and get a newer one.} + \errmessage{Old docstrip in input path} + \batchmode + \csname @@end\endcsname\end +\fi + +\keepsilent +\askforoverwritefalse +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\preamble +\endpreamble +\generate +{% + \file{acromemory.sty}{\from{acromemory.dtx}{copyright,package}} +} + +\Msg{***************************************************************} +\Msg{*} +\Msg{* \space To finish the installation you have to copy the files } +\Msg{*} +\Msg{* \space *.sty, *.cfg and *.def into a directory searched by TeX} +\Msg{*} +\Msg{***************************************************************} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput diff --git a/texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js b/texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js new file mode 100644 index 00000000..02b1e658 --- /dev/null +++ b/texmf-dist/source/latex/acromemory/aeb_pro/aeb_pro.js @@ -0,0 +1,106 @@ +/* + 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 new file mode 100644 index 00000000..fd8869d5 --- /dev/null +++ b/texmf-dist/source/latex/acromemory/doc/acromemory_man.tex @@ -0,0 +1,510 @@ +\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 new file mode 100644 index 00000000..03ce4e6e --- /dev/null +++ b/texmf-dist/tex/latex/acromemory/acromemory.sty @@ -0,0 +1,689 @@ +%% +%% 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