From 2450bb6d5a67acf34496177de7c84bca5f0fc6aa Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 5 Jan 2019 22:41:39 +0000 Subject: tagpdf (5jan19) git-svn-id: svn://tug.org/texlive/trunk@49609 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tagpdf/README.md | 9 +- .../texmf-dist/doc/latex/tagpdf/ex-attribute.pdf | Bin 0 -> 13941 bytes .../texmf-dist/doc/latex/tagpdf/ex-attribute.tex | 63 + .../doc/latex/tagpdf/ex-patch-sectioning-koma.pdf | 12 +- .../doc/latex/tagpdf/ex-patch-sectioning-koma.tex | 11 +- .../latex/tagpdf/ex-patch-sectioning-memoir.pdf | 1329 ++++++++++++++++++++ .../latex/tagpdf/ex-patch-sectioning-memoir.tex | 252 ++++ .../texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf | Bin 5918 -> 5913 bytes .../doc/latex/tagpdf/ex-spaceglyph-listings.pdf | Bin 0 -> 3967 bytes .../doc/latex/tagpdf/ex-spaceglyph-listings.tex | 21 + .../doc/latex/tagpdf/ex-tagpdf-template.pdf | Bin 12455 -> 4337 bytes Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf | Bin 308208 -> 320144 bytes Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex | 144 ++- .../tex/latex/tagpdf/tagpdf-attr-code.sty | 110 ++ .../tex/latex/tagpdf/tagpdf-checks-code.sty | 5 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def | 6 +- .../tex/latex/tagpdf/tagpdf-mc-code-generic.sty | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-lua.sty | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-shared.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-pdftex.def | 2 +- .../tex/latex/tagpdf/tagpdf-roles-code.sty | 2 +- .../tex/latex/tagpdf/tagpdf-space-code.sty | 45 + .../tex/latex/tagpdf/tagpdf-struct-code.sty | 8 +- .../tex/latex/tagpdf/tagpdf-tree-code.sty | 35 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf-user.sty | 9 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua | 119 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | 21 +- 27 files changed, 2134 insertions(+), 75 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf create mode 100644 Master/texmf-dist/doc/latex/tagpdf/ex-attribute.tex create mode 100644 Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.pdf create mode 100644 Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.tex create mode 100644 Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf create mode 100644 Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.tex create mode 100644 Master/texmf-dist/tex/latex/tagpdf/tagpdf-attr-code.sty create mode 100644 Master/texmf-dist/tex/latex/tagpdf/tagpdf-space-code.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/tagpdf/README.md b/Master/texmf-dist/doc/latex/tagpdf/README.md index 7519cf76fb9..dc19d1ee52c 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/README.md +++ b/Master/texmf-dist/doc/latex/tagpdf/README.md @@ -1,6 +1,6 @@ #tagpdf — A package to create tagged pdf -Packageversion: 0.3 -Packagedate: 2018/08/06 +Packageversion: 0.50 +Packagedate: 2019/01/04 Author: Ulrike Fischer ## License @@ -16,8 +16,11 @@ The tagpdf package may be modified and distributed under the terms and condition - tagpdf-mc-code-shared.sty (internal code) - tagpdf-mc-code-generic.sty (internal code) - tagpdf-mc-code-lua.sty (internal code) -- tagpdf-stuct-code.sty (internal code) +- tagpdf-struct-code.sty (internal code) - tagpdf-tree-code.sty (internal code) +- tagpdf-space-code.sty (internal code) +- tagpdf-attr-code.sty (internal code) +- tagpdf-checks-code.sty (internal code) - tagpdf-user.sty (user commands) - tagpdf-pdftex.def (pdftex specific code) - tagpdf-luatex.def (luatex specific code) diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf new file mode 100644 index 00000000000..f2044989c3a Binary files /dev/null and b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.tex b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.tex new file mode 100644 index 00000000000..df0325025e9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.tex @@ -0,0 +1,63 @@ +% !Mode:: "TeX:DE:UTF-8:Main" +\documentclass{scrartcl} +\usepackage[english]{babel} +\usepackage{tagpdf} +\tagpdfsetup{activate-all,uncompress} + +\ifluatex\else +\pdfcatalog{/Lang (en-UK)} +\pdfinfo {/Title (Title)} +\fi + +\tagpdfsetup +{ + newattribute = {TH-col} { <> }, + newattribute = {TH-row} { <> }, + newattribute = {TH-both}{ <> }, + newattribute = {Lay-borderdotted}{ <> }, +} +\begin{document} +\pagestyle{empty} % +\tagstructbegin{tag=Document} + +\tagstructbegin{tag=Table} +\begin{center} +\begin{tabular}{ l | c | } +\hline +\tagstructbegin{tag=THead} + \tagstructbegin{tag=TR} + \tagstructbegin{tag=TH,attribute= {TH-both,Lay-borderdotted}} + \tagmcbegin{tag=TH} + h1 + \tagmcend + \tagstructend & + \tagstructbegin{tag=TH,attribute-class= {TH-col,Lay-borderdotted}} + \tagmcbegin{tag=TH} + h2 + \tagmcend + \tagstructend + \tagstructend %TR + \tagstructend %Thead + \\ \hline + \tagstructbegin{tag=TBody} + \tagstructbegin{tag=TR} + \tagstructbegin{tag=TD} + \tagmcbegin{tag=TD} + r1 + \tagmcend + \tagstructend %TD +& + \tagstructbegin{tag=TD} + \tagmcbegin{tag=TD} + h2 + \tagmcend + \tagstructend + \tagstructend %TR + \tagstructend %TBody + \\ \hline + \end{tabular} +\end{center} +\tagstructend + +\tagstructend +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.pdf index e75c8e7d216..2c110dba72a 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.pdf @@ -1193,12 +1193,12 @@ endobj endobj 66 0 obj << -/Producer (MiKTeX pdfTeX-1.40.19) +/Producer (pdfTeX-1.40.19) /Creator (TeX) -/CreationDate (D:20180806192039+02'00') -/ModDate (D:20180806192039+02'00') +/CreationDate (D:20181227235701+01'00') +/ModDate (D:20181227235701+01'00') /Trapped /False -/PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)) +/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) kpathsea version 6.3.0) >> endobj xref @@ -1274,7 +1274,7 @@ trailer << /Size 67 /Root 65 0 R /Info 66 0 R -/ID [ ] >> +/ID [<9624AA459A7E0DC11985D5B868AC2526> <9624AA459A7E0DC11985D5B868AC2526>] >> startxref -78916 +78961 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.tex b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.tex index 5558f9f2852..d2918d006d1 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-koma.tex @@ -11,7 +11,6 @@ \documentclass{scrbook} \usepackage[english]{babel} - \usepackage{tagpdf} \tagpdfifpdftexT @@ -112,11 +111,11 @@ \ExplSyntaxOn \prop_new:N \g_tag_section_level_prop -\prop_put:Nnn \g_tag_section_level_prop {chapter}{H1} -\prop_put:Nnn \g_tag_section_level_prop {section}{H2} -\prop_put:Nnn \g_tag_section_level_prop {subsection}{H3} -\prop_put:Nnn \g_tag_section_level_prop {subsubsection}{H4} -\prop_put:Nnn \g_tag_section_level_prop {paragraph}{H5} +\prop_gput:Nnn \g_tag_section_level_prop {chapter}{H1} +\prop_gput:Nnn \g_tag_section_level_prop {section}{H2} +\prop_gput:Nnn \g_tag_section_level_prop {subsection}{H3} +\prop_gput:Nnn \g_tag_section_level_prop {subsubsection}{H4} +\prop_gput:Nnn \g_tag_section_level_prop {paragraph}{H5} \renewcommand{\chapterlinesformat}[3] { diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.pdf new file mode 100644 index 00000000000..490aa5616aa --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.pdf @@ -0,0 +1,1329 @@ +%PDF-1.5 +% +24 0 obj +<< +/Length 5552 +>> +stream +BT +/F29 20.6625 Tf 126.795 632.338 Td [(Con)30(te)-1(n)30(ts)]TJ +ET +/Lbl <> BDC +BT +/F30 9.9626 Tf 126.795 570.57 Td [(1)]TJ +ET +EMC +/P <> BDC +BT +/F30 9.9626 Tf 141.738 570.57 Td [(T)96(est)-383(c)31(hapter)]TJ +ET +EMC +/Reference <> BDC +BT +/F30 9.9626 Tf 460.793 570.57 Td [(2)]TJ +ET +EMC +/Lbl <> BDC +BT +/F27 9.9626 Tf 141.738 558.615 Td [(1.1)]TJ +ET +EMC +/P <> BDC +BT +/F27 9.9626 Tf 164.653 558.615 Td [(T)83(est)-333(section)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 222.26 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 230.008 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 237.756 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 245.504 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 253.252 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 261 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 268.748 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 276.496 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 284.244 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 291.991 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 299.739 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 307.487 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 315.235 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 322.983 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 330.731 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 338.479 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 346.227 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 353.975 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 361.723 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 369.471 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 377.219 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 384.967 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 392.714 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 400.462 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 408.21 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 415.958 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 423.706 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 431.454 558.615 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 439.202 558.615 Td [(.)]TJ +ET +EMC +/Reference <> BDC +BT +/F27 9.9626 Tf 461.54 558.615 Td [(2)]TJ +ET +EMC +/Lbl <> BDC +BT +/F27 9.9626 Tf 164.653 546.659 Td [(1.1.1)]TJ +ET +EMC +/P <> BDC +BT +/F27 9.9626 Tf 196.533 546.659 Td [(T)83(est)-333(subsection)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 268.748 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 276.496 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 284.244 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 291.991 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 299.739 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 307.487 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 315.235 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 322.983 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 330.731 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 338.479 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 346.227 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 353.975 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 361.723 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 369.471 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 377.219 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 384.967 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 392.714 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 400.462 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 408.21 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 415.958 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 423.706 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 431.454 546.659 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 439.202 546.659 Td [(.)]TJ +ET +EMC +/Reference <> BDC +BT +/F27 9.9626 Tf 461.54 546.659 Td [(2)]TJ +ET +EMC +/Lbl <> BDC +BT +/F27 9.9626 Tf 196.533 534.704 Td [(1.1.1.1)]TJ +ET +EMC +/P <> BDC +BT +/F27 9.9626 Tf 237.38 534.704 Td [(T)83(est)-333(subsubsection)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 322.983 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 330.731 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 338.479 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 346.227 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 353.975 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 361.723 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 369.471 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 377.219 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 384.967 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 392.714 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 400.462 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 408.21 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 415.958 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 423.706 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 431.454 534.704 Td [(.)]TJ +ET +EMC +/Artifact BMC +BT +/F27 9.9626 Tf 439.202 534.704 Td [(.)]TJ +ET +EMC +/Reference <> BDC +BT +/F27 9.9626 Tf 461.54 534.704 Td [(2)]TJ +ET +EMC + +endstream +endobj +8 0 obj +<< +/Type /Page +/Contents 24 0 R +/Resources 23 0 R +/MediaBox [0 0 595.276 841.89] +/StructParents 0/Tabs/S +/Parent 28 0 R +>> +endobj +23 0 obj +<< +/Font << /F29 25 0 R /F30 26 0 R /F27 27 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +38 0 obj +<< +/Length 766 +>> +stream +BT +/F32 17.2154 Tf 126.795 635.327 Td [(Chapter)-359(1)]TJ/F29 20.6625 Tf 0 -44.832 Td [(T)88(est)-353(c)29(hapter)]TJ +ET +/H2 <> BDC +BT +/F34 11.9552 Tf 126.795 536.199 Td [(1.1)-1125(T)94(est)-375(section)]TJ +ET +EMC +/P <> BDC +BT +/F27 9.9626 Tf 126.795 514.378 Td [(test)]TJ +ET +EMC +/H3 <> BDC +BT +/F36 10.9091 Tf 126.795 486.888 Td [(1.1.1)-1142(T)95(est)-381(subsection)]TJ +ET +EMC +/P <> BDC +BT +/F27 9.9626 Tf 126.795 468.498 Td [(test)]TJ +ET +EMC +/H4 <> BDC +BT +/F30 9.9626 Tf 126.795 442.603 Td [(1.1.1.1)-1149(T)95(est)-383(subsubsection)]TJ +ET +EMC +/P <> BDC +BT +/F27 9.9626 Tf 126.795 424.213 Td [(test)]TJ +ET +EMC +/H2 <> BDC +BT +/F34 11.9552 Tf 126.795 394.754 Td [(Starred)-375(section)]TJ +ET +EMC + +endstream +endobj +30 0 obj +<< +/Type /Page +/Contents 38 0 R +/Resources 37 0 R +/MediaBox [0 0 595.276 841.89] +/StructParents 1/Tabs/S +/Parent 28 0 R +>> +endobj +37 0 obj +<< +/Font << /F32 39 0 R /F29 25 0 R /F34 40 0 R /F27 27 0 R /F36 41 0 R /F30 26 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +2 0 obj +<< /Nums [0 [ 7 0 R 9 0 R 10 0 R 12 0 R 13 0 R 14 0 R 16 0 R 17 0 R 18 0 R 20 0 R 21 0 R 22 0 R ] +1 [ 29 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R ] +] >> +endobj +3 0 obj +<<>> +endobj +4 0 obj +<< /Type /StructElem /S /Document /P 1 0 R /K [5 0 R 29 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R]>> +endobj +5 0 obj +<< /Type /StructElem /S /TOC /P 4 0 R /K [6 0 R 11 0 R 15 0 R 19 0 R]>> +endobj +6 0 obj +<< /Type /StructElem /S /TOCI /P 5 0 R /K [7 0 R 9 0 R 10 0 R]>> +endobj +7 0 obj +<< /Type /StructElem /S /Lbl /P 6 0 R /K <>>> +endobj +9 0 obj +<< /Type /StructElem /S /P /P 6 0 R /K <>>> +endobj +10 0 obj +<< /Type /StructElem /S /Reference /P 6 0 R /K <>>> +endobj +11 0 obj +<< /Type /StructElem /S /TOCI /P 5 0 R /K [12 0 R 13 0 R 14 0 R]>> +endobj +12 0 obj +<< /Type /StructElem /S /Lbl /P 11 0 R /K <>>> +endobj +13 0 obj +<< /Type /StructElem /S /P /P 11 0 R /K <>>> +endobj +14 0 obj +<< /Type /StructElem /S /Reference /P 11 0 R /K <>>> +endobj +15 0 obj +<< /Type /StructElem /S /TOCI /P 5 0 R /K [16 0 R 17 0 R 18 0 R]>> +endobj +16 0 obj +<< /Type /StructElem /S /Lbl /P 15 0 R /K <>>> +endobj +17 0 obj +<< /Type /StructElem /S /P /P 15 0 R /K <>>> +endobj +18 0 obj +<< /Type /StructElem /S /Reference /P 15 0 R /K <>>> +endobj +19 0 obj +<< /Type /StructElem /S /TOCI /P 5 0 R /K [20 0 R 21 0 R 22 0 R]>> +endobj +20 0 obj +<< /Type /StructElem /S /Lbl /P 19 0 R /K <>>> +endobj +21 0 obj +<< /Type /StructElem /S /P /P 19 0 R /K <>>> +endobj +22 0 obj +<< /Type /StructElem /S /Reference /P 19 0 R /K <>>> +endobj +29 0 obj +<< /Type /StructElem /S /H2 /P 4 0 R /K <>>> +endobj +31 0 obj +<< /Type /StructElem /S /P /P 4 0 R /K <>>> +endobj +32 0 obj +<< /Type /StructElem /S /H3 /P 4 0 R /K <>>> +endobj +33 0 obj +<< /Type /StructElem /S /P /P 4 0 R /K <>>> +endobj +34 0 obj +<< /Type /StructElem /S /H4 /P 4 0 R /K <>>> +endobj +35 0 obj +<< /Type /StructElem /S /P /P 4 0 R /K <>>> +endobj +36 0 obj +<< /Type /StructElem /S /H2 /P 4 0 R /K <>>> +endobj +1 0 obj +<< /Type /StructTreeRoot /K 4 0 R /ParentTree 2 0 R /RoleMap 3 0 R>> +endobj +43 0 obj +[317.4 571.2 571.2 571.2 571.2 571.2 571.2 571.2 571.2 571.2 571.2 571.2 317.4 317.4 888.5 888.5 888.5 539.5 888.5 862.3 812 825 875.4 749.7 718 897.8 892.9 426.8 589.9 894.1 686.3 1083.2 892.9 858 780.2 858 853.2 634.7 794.5 877.6 862.3 1179.6 862.3 862.3 698.1 317.4 571.2 317.4 698.1 888.5 317.4 555.4 634.7 507.8 634.7 522.3 349.1 571.2 634.7 317.4 349.1 602.9 317.4 951.9 634.7 571.2 634.7 602.9 467.9 450.7 444.3 634.7] +endobj +44 0 obj +[312.4 562.4 562.4 562.4 562.4 562.4 562.4 562.4 562.4 562.4 562.4 562.4 312.4 312.4 874.8 874.8 874.8 531.1 874.8 849.3 799.6 812.3 862.1 738.2 707 884 879.4 418.9 580.9 880.6 675.8 1066.9 879.4 844.7 768.3 844.7 838.9 624.8 782.2 864.4 849.3 1161.8 849.3 849.3 687.3 312.4 562.4 312.4 687.3 874.8 312.4 546.7 624.8 499.9 624.8 513.2 343.7 562.4 624.8 312.4 343.7 593.6 312.4 937.3 624.8 562.4 624.8 593.6 459.4 443.6 437.4] +endobj +45 0 obj +[539.5 539.5 539.5 539.5 539.5 539.5 539.5 539.5 539.5 299.7 299.7 839.2 839.2 839.2 509.5 839.2 814.3 766.8 779.2 826.7 707.7 677.7 847.9 843.4 394.7 557 844.2 647.8 1023.2 843.4 810.1 736.8 810.1 799.3 599.4 750.1 828.8 814.3 1114 814.3 814.3 659.3 299.7 539.5 299.7 659.3 839.2 299.7 539.5 599.4 479.5 599.4 489.1 329.7 539.5 599.4 299.7 329.7 569.4 299.7 899.1 599.4 539.5 599.4 569.4 435.5 425.6 419.6] +endobj +46 0 obj +[277.7 499.9 499.9 499.9 499.9 499.9 499.9 499.9 499.9 499.9 499.9 499.9 277.7 277.7 777.6 777.6 777.6 472.1 777.6 749.8 708.2 722 763.7 680.4 652.6 784.5 749.8 361 513.8 777.6 624.8 916.4 749.8 777.6 680.4 777.6 735.9 555.4 722 749.8 749.8 1027.5 749.8 749.8 611 277.7 499.9 277.7 611 777.6 277.7 499.9 555.4 444.3 555.4 444.3 305.5 499.9 555.4 277.7 305.5 527.7 277.7 833.1 555.4 499.9 555.4 527.7 391.6 394.3 388.8 555.4] +endobj +47 0 obj +[319.4 574.9 574.9 574.9 574.9 574.9 574.9 574.9 574.9 574.9 574.9 574.9 319.4 319.4 894.2 894.2 894.2 542.9 894.2 869.2 817.9 830.4 881.7 755.4 723.4 903.9 899.8 436 594.3 901.2 691.5 1091.4 899.8 863.7 785.9 863.7 862.3 638.7 799.8 884.5 869.2 1188.6 869.2 869.2 702.6 319.4 574.9 319.4 702.6 894.2 319.4 558.9 638.7 511 638.7 527 351.3 574.9 638.7 319.4 351.3 606.8 319.4 958.1 638.7 574.9 638.7 606.8 473.5 453.5 447.1 638.7] +endobj +48 0 obj +[766.7 813.3 696.1 666.6 834.2 829.7 388.1 547.9 830.5 637.1 1006.6 829.7 796.9 724.8 796.9 784.2 589.7 737.9 815.3 801 1095.8 801 801 648.7 294.9 530.8 294.9 648.7 825.6 294.9 530.8 589.7 471.8 589.7 479.9 324.4 530.8 589.7 294.9 324.4 560.3 294.9 884.6 589.7 530.8 589.7 560.3 426.4 418.7 412.8] +endobj +49 0 obj +<< +/Length1 727 +/Length2 13428 +/Length3 0 +/Length 14155 +>> +stream +%!FontType1-1.0: SFBX1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1000, tcbx1000, labx1000, lbbx1000, lcbx1000, rxbx1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /ATQFDO+SFBX1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-229 -316 1737 939}readonly def +currentdict end +currentfile eexec +oc;j~EЪ+`U+1;[ihd_Tw ρb=I"ae ̌!]#g~Q^VmcNtقP*4Jq=G1`ސnG)]'Z e+hb? %_hpZjC\W'[1cBgos ֗/fV2LXHnG60^+>(ԩ+Ixa.mDP]N H|HIhr4(}u:"֖PXt̟h*@UȦ0gj9u8?Lk~z>Ի҃,ЦX{S}/ M5]?9t<Q|͗# +o f&}Jx/_45N'\F WK\}I!T5`{{(?^]#ݺ0 Ifh p9DO7kfA}/ 8]o6a ہp6nuDg"wOϖlhҘWuCNo ĪCn:_:EU [3Bh/)&D:H5*ybIZ$um-휍B\xMEk)Hj;3cHôs͠S>9w~}LCzi*~7 V*DCH]jW@~6&<.dI(z6FBq6K:coe7'A-/Ή0)M% ŸؕՠG!lK +بD.ɳe]w=.Us*'LiN] D1l3XǶZvzaO~bAbT%K2~1}*.kbUB̴A]| li`مtORNQhDgK'Gt.?2ik}[6NΕ{0Ԭ 8U‚Ć2Usܚ1lNgFפ9n墥mn QԺХ20# 5q |AeA |u>1uޗTݺoT2⾞S/r04s"O0KsFOr)~0arF>gN)9cxm_5mhv$l(%TL:?ҷʫGR2s+iiG`P5:Z^v6Z]Do4<93tf3ֶf!PQ~4XVi% ۩Ϛ- F:%<{sg%/R 0qʁҤJ`2Y Z^ += 3_8MC|E;{ ڮhMsgF+yQq zTD./Jp]cfbD%t%g\:*=3k:˯X!cJ1 Șz׳O'PnxNIb&:%>C~36k=X?PqV+/OpV;}?cZHJ.>L1 >6-@\GmN҂ O8b|gN.AD>5f&ZNN jD i'%2ȡ +(F&ZJۻ;?\T!2 +u­@QAcibna1vL64!1;wi.ij9z+[Wd&h\73DOGT@Q1enۉ +J}[pX=WZ]JW`s8{1.Q@H 'b:EO-TmH=q&޷L5+[weW{'quD7Ϛ$4΍;pea Gs[6%̓Q/?S6&tT ,dz#qLYe@y ޛ :&|wOf[Jj11ZubD%foSTEc _}÷n`wD,BBR! n#y~y?蕖Ϸ~LKSY+xͧ=\?)@΋5i]M}fϋ0QֺSd[J 7,Q퐴 a{?f.wm:)@l3Nَj囹IZiMra,S,yv*晪+93I> ;/'=33h<cF'L2AWFY^d~r*qXń+m2[%EQt|f$w$R#S,b$XI5i+hoN^I +j0/U]f(E#f*FRg_Vq+DNԺWbLy r +{~={>>Ug좄EUEpǠ5atd +I6sQN(e7(WU|P#Co"|%Z=uy1O{ҞJ4k.cdfɮlq e"ri6Ld:7/4ibxj"=`v(bœUu6Ks$dZnܟwkW)kL -!jxhj OM/(_YZ8d +zjY"*"oNM؆ Q'ZG?k%X%TjӶ +tqYw(&V{$y֠*Fs^ aqPkQZ1/ \u^NG=O"kTU:^ 陂 +͜6r:o4=u9|P]jm*`^ݭ4k2*hWM+QV[+罁 f/;^&bffv⁏vQqG5)s:}x}&+ ¢1[sq5Ia +m5J C`Eċhڮ%7{xEK\?\G ͪvä\X]fh8mF] y2VY0[ UUVq.4Vz̦hHȈ*-2ƀWA!,| +>fC0Hݰy:s['|)QyO~NdQ$r*|E 8L@ uh@`dA>5YE"sV[n:,yNDʦ)^w.AׇG= .$0YۡLW5> d=wc +,ma8B`J|B*2m9}]%*7kCw$ bھ +ӉWe 7v (HCc]":L,J`W7oEL T[( ީxQH|ȜE!JLq8kg +k÷M}xͯlVlΚgPO9Opc2=R\-qڽ4^=SJ>&#,cK%$p_n]~>T:RZ sQtģq򣛱fP@]1t |њO83$Qe}:.4u<$SG@#gG=alRecwy&rZa6 Yb%d4Ɉm^ o~(^/⼡U5vE*!ᘂِaZ22:Uqv rѕ tYORHC3y:rj`GD +x jՌN?1;Lİ )rjIrgwgs'q̨4Iv{Ngtц17P^'chx U^϶y.3LDfb`ЕOh=@dT;q~0Ɔ %kϯ=z*3@!o&"/D+Ke_LWv %J M\V7CJAiZaBN +-.!wpLPdW.\.v; Sd a֊AvY39p_i#[K⯴Ur&q;h)V>\!u!7*a ՚X ׾`ϲ#5CAlZO~dUt#h??.e^h(W7𞟣] WOk<:y~ q{{/IJfk6)i3 GfGx}dYS$:X0 ez=tA'f~B@,!8et"d[iQ+5)1.6&d{ף=it)Ksޤpb|]D1QO(SL3A>P7nqc'IU0EwcjS6Y#qӝ6dRyʣzسP˨@\Bhs\_{,*m{5-\)ʼn=\a Mx*7!sF·|M_АlKMQt[awH+LXCiRYN}/+Z@f@lRJ8ɻdƑur@(I|\Iآ]O7C_ˏG֑Xm(+Tjsw:ʔ&WT:RZ sQ@CWuaUg-u@k[z1O8E6[j̣N<&f*-Xu[=G^2"~ g:iԀ6Xfb2tS$F%O]"d$s=,+MFKiȱgd>7EG) we%MkԉqXI[0u9jR!zFݯmcCu0W ҚQ/Jv[- +Ӎ)lFE&vyj[G77Sj(q/Ɔ +uoxj1<0k>h#yDw#+-Uĉ̴(*[ #ϡ~ltѫh|:9]{V(M)9LflvFVR6 lȗD}zy{ZOؚJ(sl%jxASX!g*S77c؅@z$ ()ˇזEue\m1bwvǸiVMcmwٛ]6r|w](;ڹti1&y*3eD;]l-DTx[cT=2n< Z:)l/'x>+D #IՐ3]wv"3-9] +sch(z5US!Mphe^_xFXNH[TYiEqFظ^Dp`#QE}VU9rKs}^4i,i #4FWv&iZ${!dP~6 +l `D4@8j{ A_aU3 V ǹIU2ZEC{^=vb2%gwe7|T rXGڼْ3B@0hBj@f(lO"B ԷP JoEϞ]+@/4-1m hea/-I. +)wqO VK9Kq~6*zCFcHȈ*-2jxfGՄZR<"ԝ/W2ٴJTKnsCM{huJus|?X<^W{lR$FƇA3/%ha.kTAYJ Pz#͟B<؎Gh2]1,ۋH%b,2{Ę^)%"kٟ3#xhja)e0APey=UBiڰ܆`XApJ-KYb̫m׼OMd)l1;}ҍl  au&3Dd ^#ɾk #IPVZtr8cfmb<)I5%mjX}sj>nQfĥ@ ! hʫ,GÛb:aE~Ek>D^;;#m.ͨLk:Y86_rۋEF H7{|Hn*1z[ƿH"ыSfz B z\wt=cjU+&'eqL0^_VM`1rW%i&]6:1i8㠼?wR(.Xݵ n+f +V0g&_iқ#> >$KA|0-S*vN )0Q q|%v@?zE2E֝>x fۦ,K(2%ރON2"Z/|!M.C͕A)|d/W5ݕp"w}R GO.u;2mnJ GI&~۴QQ` ͔?HuE\&$>7 v&;Wk-ep{Z͗Z@Zm +P}OAw%3pQT>L}=zhYL[VUUf78B_0}烃ꅊ⡿z\!X^hmMnˌ= +V8hn[s1P̩e_d#Oejos+ 4ׂCKm](`8]{k$e +P vt\.[ul0%یE Fܐ7%1%7 +TAj7T .BU]S!'2 ^-yхBRy #2Wx"?;ӥSCxRY5[w+LăPUf3'P+M\gwafO# GQteO7w{q׺Ǥި!a1(MJ]4䏌6(n5NbU15^v TF}+ZM#^qk&X/7 #JIEnG$k2' ﰧ MM7-hȉkCr:"wtPA&?w`u:^  w61C:1Uh%S82KH5T@y 1? Jh3@|>V5> a%E789Kۊ?8 ^߻h ?n*Xt fj&e Er8 %LY$J.mJRW _SWyզثmB5=4(pv(UMzeѭIM?6mplϽ52_b#C)i4J /&'eaDPVuF8I="^ƺ9 /l{_wGn)@Y.gXm#f5"qU}NGmQ^T1J=Z@-)7#r g9 <{ʊ< !+6 +0T, ;:;ljٍZ)PbF.#dfSHN%DPxG2yb˛ҲgϕR[`Qu(۷`[(A]]MSŻJO拾 t8vO2-Ze"y>au!+?+E2x4fTF+ܮp As ;4~: n\k^P1a}ݺsCӅcٸ]_&®<,LmoZ_8 }ZY))zp! a|WAhe19}GMk߷>KϋVdzRUGS|*kY-V2s[t_Ԫ*!nZ8L +lL#=/a]@u?̻E밆`5ӿb>"g.+(I'퇄qYhKW3ry:8XC&G'_'gRq3ϢRjGΣ@QN|(utM +X|\{Qzv~ٙ6#a'$a!zD I7NqI wKr~T/ լm=ZcP_͕zAJ.gm kp[e[yOBC !Bb*w\k$s ck9XJ_c$ls(K?8{-![L2EwfOު|$g b+T)2jzㅚK-Ŕ`R{6)o;5ٮS?keë:2ϾNJek6Y(Li} D\dMo(L9 +_qPELܟR&5!؉ [ҹ X_[ YBdjҕ]+2^>x!(f埚|i@m)~4r?1_;0ّ[x"N3>ā'O#` Ӱ^o[طfQ$bDDlMܡJq +@\ X8m6| 3 6[`G6.{6Q?* >Ip#d )kӖN%\ɡrB/%0*9ġ'%: ՍGCԾ o*jDW2 ˆaTkXBf0K8X3Krݣ3xVnzm_)( rEF6AմS?ngb{te/n8Fu +e>9Z&nv#} +~b;l/p´]B6i_qK 'hi%EҘ bv_QѿT[ɟ>]T׮RBX`-֫{ûζ0MRJ0izKUU1Ԍd` H2);J[vnHdyG^}c#5W)Mi?Auso bo86 =\2uz,"vOpNhmPa6b?3+(p VS39۾>!HߍUYye",XU唟MZnUp\xVH{% jl?)jl}"!$K9%{u`X6QSE0K^*T i[yn L&C9nhΕGʃFY1K@j7CDmmuÅ LG/4G6H5Ly&}',gr"+F{)+W)}N)VncYM렚Qi41 c;cCX#2CӯunW3llsh׆]Յ'*2 dd$5}l!M#Ҳ 5RDy_<2aO2M*)-C3]YH"1}1O*{r C7b=1iDА.9jwOLm>|SR + .)a̳2Ggqg$WXlHطVU:|Qx nUl|T" 8`>Ѫu{es0IxB.ԗ݋,?qhmQa'qb5mGu(+ed=ۧASw^08٪ pTwxAD5/LA):,"{@_uBc_Z༹{4]f 3Dki+_l3x7dC&d@m + +-=!f ha: ^BogsyPc_tF?C-MKUE0!w' &|eKtEzp`@Rxb2{V .0Uf/x6Ws@rc“ DA0ZFg-ZnmGLK ٔ#z%VXcRqjh7'T\aIGLG@kZA(*kooF$;xH/*[;!Ŕ҃aG">`w)b ysrH}mkVo5lG_?VŢ}xaf_q `>N!U9U`퐴$Hv+ww7Tl$>ڏa<(C )O#;-M7\{,yfX)7&KIzWlMhX}:aVKuU?/;n.۷>V|pȿ.>>XdN[6ۙ?^.SNfYe%keE6Rtr8fdM볋OXj?Ͷa=:$kgHb8vT]wLƒcΌK7e^KDmB vo}>DZ J̟'u +?zo'I(HRM2SeG]9Qa EdAa rb.:33 &̅3t1:'?ݼ+[1uYQڷ\Aɯ([V<|NJA\zhE?YڽU5w$!^0bkrys{ۊ a&A,S->>kMŠaG̚%y- +hI,JT Y!t+ghϕz/{Gzcrj6͋{Z>%ocd[\6}<`jpvd n 홐 v *~D>n98e/8p5(͘oZ^ +ݞ*j &q^3>hsJ-p,"uu-KG+^#~qiɻ=a"1|}%3pQT>L}=sk%!o/qn.0Ǘ/m/Sx{L~Ue3\ 8a7УbD!/]PDȸǗ)j$Yl):?-VfMp{m5$UWiOKDU,wug+<*N5@IǎWvk:,i\Sݥߞbf̋1/^ҏuH`ױgSEuge=|K]c+JAU:nòΈ]ܪuLA傰P +d=5+WYn*5@x,K ՝tSfcF&UdE -ܙk8W t")y'll-56IWKd ȇty#xᡖkt4̾9o|n'dH(doF%h _%V܁v:MfbeN\V.d?B1.b4믵푞U%~HPuȞ@?,?P-.XH>~ֻb<*ـWc,"ARoqV %K4\<2e)X0q\p|D(G *tD`\6X{OeG#AM:krrTAT1,&{8I7,} -)1,l/U5tW"Np_CPέE/Ǟs'@G9fR`1:j6$#`Ÿ^m<`g]w[;/3ؙ]C~a)4hwIQ5Ԫ@ln֠uZ~Β' *ZF_i :+5<<|Z>ؓyÆm)(9rwa")ƄX4hQ%V%)ْFaASsS}}!M*eVb}>d-UJ#o m:,OY`UO>g@!gabNef zpۛh:%*Wɯϐ@-CdZjt|#nr$;J& +z!4/8osk2Ҧa2 H͋~AXJE^ϓdBh5>,։3-R$.W)3"$%o TK)ޭF\sU8JҨS,I-z,f-b[1ZOh<6Zx_ZS>UfD@d3PMN1~c ВcxWvC+H +k:./WŨD"E| m>$GvoL`xjED[djoDgW1%9!ipT.Nh%QZB#u:jp~Ad4^z3菉c$͸b*_/ |Yʓx> H|ٻZQ! :OqAsSgjLn?:C3HQոZChBem4נ(=G!i]ݤ@ž>܌Z߲_+1rdƮf]7#umTjm{Q;/1ߌШͧ5R:IDi׶*9RX_] L³ J۬#ǂNω[h-̺=^M@;UL1PeZzF.7F˻&C[M4N}*JSh2 M)(=55p= M&xݠ6R 05E‹?_ m")ܔFah NQ +&tp[a +Q jl?)jl}o:<!Me\תՄ<{!9 9xq5[>63>iݾqDNšt"tx #63G sF+c- H/@Xյ>( 46#<u~&0U(s2r(v:haq2rva:9xǞ`M[%~1wlM0 /ngiRjX/If,\_g~`hJ-}u`iCj +i/Br +~"-b4偶7Lm̀JSq~=|`wi~(I=N1<~]yj#E"պ ?c-B_ԐQ/3 '+ Z^ "Z^=Za͘ <+Nnte^RqU%Y#b(G *u IT–n BiSY俸S8 р '8FܒIitn.*[ܡ9nta.ԇذ>v}WgPÄ́x7Qcd:J#!̈'/R +VLܙ0M6XppsLm!JTF{'\w8Wj+WU1i7k`$jw_P(c߭!m&o_ØAX/ ~S8gr9H#?)}tLp+̷e2pĈa掜"@TlQ~&lVP{"-!ҚTJߞܺYS|E( M|?6mfE' 2m+Pq5_;a ~\짡bv0Uq z[j_2džq?.{dOi[3b ` KW5T3lH+D(zc<9:AuI%Ӭ\ T )x$Mnص&]0@:eHyԳ +>R݉^4ttm=t-SS=R=`Cx>DU +:r\ S;Ve J J`Ycx$*yc/Η8.WȠЫ"ߣg-p羸+Q `iVND$x2O@;!]x9LA(-X +Xաy>A 0tbHE,0 zc/fHl<"#Nƚ :}@jbZ;F4&>uX}4n|)$y'T̂>GKX 3vR ͝װXK +qFQ:fP Wj8e9EV(S@/KG*y&fh16e;-64qכ>0WBH~b"&X^'/'1`Mx|FZU+)]hO@|'k)%5ϛG }qNC¶ h)mV:ҵ]KQ9ړ 4FaTv&r`3IP9@#4[ O؝cmX?98|9mhJR_O䜮)Hw +^ }hgk0GǴ¤  ћD)W.'7Ht/ ^Sb{=? \ KRZݙd9g$x-otV8\ >odX'ޭe5ZY^V+wT3ak`JŢr1ߑm#@0>ˎb/ty|C73Kg`SA~4ǂ.HJ/&B!2CG2v)xhZ[}XS'@Nפ?:2%fj#(<`l_ [nWpL)vG+e2XOh਄ eDl8M ͏!Pcl2ijocǰ y3 'ITQQ$CZyΤ$lu?MV~rgͼ`N GuW-{[h0@|cq N};9X Kޫ3Sd&qCKA{n>/ٮ"S;aԅYq%/mUl`CoT>R7|UĨbCbBNX<ꂤB*NFhX){]&?}J| ,㴠rG_n;褅 El+??**z9p ϖyHk_V(&ΨPTzI[6ࢮ{c{Q%[-6&d{ף=W?ipw"dK=YZi@ǡLsoC1$x}k?/Mgo'TxtuQ,t#Fβp)/v '2jfSZʄV3~4z MvQ@-[4J']j؟P +x>Ս2[!uqƻ?ocl^F&И(i̎Fdޒ_@̙xcvFo*ȑxnVzމPjƹ21_6J"`uFZS} 6-LvqtBzU~ jh_cYAVW:yvbC4 Z)i/nZs؄]~<+A=Q$]+<`GLnkuU]'qRZը|[ x?7-q<]ߗiM'y+޳ /y1M쨔ƬaHjj5'ÁLaNden^TQTsf3rÕ.aA2\G gdv]L0C H(7ch̛\.1D KA,Ta + +ݖ4|zp?x琻f(Dؙ;D WFaY2I`Qi yf8Ѝ>0^<3X<>h'%L-RUXDl:7IA3_ev淕Ttp;ג : 1r6cr/ubJb&k̤qB w7@;UTkNmk7S"5hyȮ?@F+fm؂[mEl}×Z]Vr\sJ5U 4ؼG؎ÂȱޞaCg:A$K$RIDƠ+$4fӴ٤7nd|\w}ٵ#E֝T\usp~s,v"Lbgyu-8cDOWwU@?BHbMDbܔʖ1i#0>bMKw"> =7vͿER9~PT|zޱu!F0ulSK=eKw$f]I3D&;㔖Tȸ!۾>!5fxT1~G/ۅĉ̲=VTmU3(O1 s/x|xm;w@hVE68qbfS5"Ī(="(?$PA9z,D&%ZkJr{mj}JS] +8٦I23Z5!q~dg B>ʞY2t塖kt4̾0"gE r*KvNUȹ;*DQDQ^~o` zIRx;rZpH&u[Q[HЯW;]NM2D7}kT]Okʡ쫹rN:aH.X#|'/MKΆSGUC:"U|\^YXc?~.q_J.{\nDZOr/ +bjޅ;es;BCke`B;%w]L\Dos (=i`jmQa>G0SCry.GܭَP*Z} +gC]No=vE*1D+^ћ7 nAf*{GiB2VVw5iE35x@InEx=qm.쿎{Ngt3>`yO>|o4-7ݣNea! CRoNuJξ =BP{6 `ã^pPAyU9X6^+S4/f6XT~W_} "=s T|:`H;ocaҏLٶ8;3CZVh U? DD94+!<,~6ikbd +5]S1@P@ϑe99mN~YxգsS\٥,lgjHSiuUjx3G, JzE{<~nPDZf3Wwm" 3.H, +e٥]DA{%^X2$٪|kcDR3? t~i9UZ EayVnb2 *lMX ,s|[i&egb_FL}Q> βH$uaD"'oe*c7DՎJ^tj}|xY~]X:)4j_U"A#5!'|e3 mՊG?7c66QReV U?TMg֨2X nߪ~Kz]-wLWBIz)Vw3xrEsR uS.Ͼ‘VgtEe .PBOBTC|[ |_0׌V,C߫ &*UO'* [e! + +bO̺ĽF1xOh~a3;ZH@͡;уO4k{u>HDvMUpА/԰cdq- +.*SӉWN']\s,@~PhlU@"Sk 8G;LnQ6(D+d;iwL4qT  Z_%>rPFەʽbNy&8gʴ]LVaߋ'Εg^#Q +ew ~1.m߬nᷧ(Kv.1'g E0:j[lEr<J9ŠMf-Ў2wI"f{25 Ă%[|gO,B.Ia(y@({`6MTˣ+:޵Na hg2ۆ;Z{[ƷQKRw?EK٠dGe. 3ig_sfTvy@zp{ϲ)*g8EFPf(\'JhSvPp1ld[GL)Gq5I5Y`qtP 0mc͖ g"{[5(J]fT~Z04YȐeiIq`P 8(ܫb,i 3y=1,eDoxCɩ[LmpK‰>jZ-qEmO̞/ +1]CzU 7[?||4PgԢX{d`fq5_0RI~*5/´#qY$ +ROgM,統'_nh;8jru$A\8b̓GsrU t=t].ܼiB 8WDgbb _kS9Iuޅ->s +ڨq'A䩄Q%ӄeT`ܙ&zMgSL&0 +YAZ&JʯwȈlT2eOűA_?V"U0k`tA[mGW +P/YkIxKULϞ;H֭eڽE*LZR(srrs߅Og~`n|_ ՔY_1+7Mfs)<"nD01=?nR<ֳkeIWՙϵ#z*>-hZB5hA;NN]ݑ5'K=sXt$Va3tJG.LO߮ F\䖤t*"t:es!X'܏rmw#To@g9WtHHDŠ3[жt7pD!pl*|!''D@}f𑕜ӏ&PI.%p|긜u?#-ۻSW *XŪϞƅE<<{qzXJj4:ѐ1E @7b%6;Fbõ^$agj&+7wZq e8cM'ΐZ~㿧1u0 a"JpHvʄ{ki(TNS۽T`f.s)$:`UD1 p8 mzMx Djmin~@K +endstream +endobj +52 0 obj +<< +/Type /FontDescriptor +/FontName /ZGATEE+SFBX1095 +/Flags 4 +/FontBBox [-227 -316 1723 930] +/Ascent 690 +/CapHeight 690 +/Descent -194 +/ItalicAngle 0 +/StemV 50 +/XHeight 444 +/CharSet (/T/b/c/e/i/n/o/one/period/s/t/u) +/FontFile 51 0 R +>> +endobj +53 0 obj +<< +/Length1 727 +/Length2 11578 +/Length3 0 +/Length 12305 +>> +stream +%!FontType1-1.0: SFBX1200 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1200, tcbx1200, labx1200, lbbx1200, lcbx1200, rxbx1200. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /LLLFWP+SFBX1200 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-223 -316 1694 925}readonly def +currentdict end +currentfile eexec +oc;j~EЪ+`U+1;[ihd_Tw ρb=I"ae ̌!]#g~Q^VmcNtقP*4Jq=G1`ސnG)]'Z e+hb? %_hpZa2+mo3Yͦ>ELܟR&5!؉Z!\*鋦^>$YVK\L:w#Kx4sȇRcfe)"i7G`[i^q6N6FUj4@bPR:gdWtlXCي!61 hسe& +2SIe] +ebV|B-{=X4 Q鷴jQP/=Hτh= Ӧ=qtLK6iU*ATA@4G<%m? mn0;*uM ѮK]);y&m#i^vcW+,љ<]hl^B5ULC{8M0ck;72Mu3$v2m1r +N Yb8zS;O@#vhC]>#Oë"x($ L8l6|!orn+jGm|d7 l ZHTo|&#ImRPP>L!A: Y 6g\:vO =[k @0v~#KFswZLg%'BD3 >{P1ьwҵKZ4&ܪʵ#y!.yuN:2->*4 +nCpi.U)e|Qle[P`W-i.Z?.&8"ѽ oCJAQe1/wĮ/O\W=Ɛ-I'Ő?UE܍Sх#=1\j\nJ ʪ]"cPʯfԩMZ8|xsT(xsx Y[n+[&ya}͒;|&Rĸ(pҸ!u"cC93kBwyneh\ֺ٬K\_:)s{ZR&6X f^Mp7>Du8l$?s5>@('F') Rh"ӸqTNa@/tcδ*8Kg c&V߾mZG}ҹ2 }yEHǭl j2M9ʢdPkGAEimj O HˑV?&{ΗfY+Hl?K885YqYߖ8(yiGֺ^8>RR#@Y ++c?8imLf:)friꃿ79e02B%{l,/ )yӪǼL@7[C^#\EY2B/>_f][Qm~/b6v=P[[rr0 +&Wx0 zF + a~,"ze;)ge\1I~D=$2j!GA~7}D\<l/w`&[`\CBoD蜥%H]v{Ljox1I>)vOݐ Ú!S{Ub鴿ΌPHק.Zg 3&b`[q6 I\]ri4 V;N``Qr~t6]8Jd_*lZٜoV@E{ch P*ϡR<=S^D̋ޢxl"XC߫os_MKR+$'?_ +!{²8mN'R2 +[JWi:l}mA [J[P(ũ5?QnV\^+S9TJl}!i[GL>gh2^X&P ůxudԚu^6ym>]ˏff12€`_H ,$]9wav JA 8 >K}_pPNJ74+N+Wöld>7EG) we$@$XKqă,1d$UjWɎp&P?ʞY5 Bߏ"QzCk +X;?[jĉnvҪR]m; CP'nh*7e; !fk9N."G&i3x ANO~ۇ8 ^߻hVP YG^{*c2N\B`!Q-s]PI޲w;Zb\^%Y/ڟT-^FJSH>=RCPcU!иo]1zmf/XYm+DE\|)8> зb\TN@L rz"DCJuMqq~ I6;4O-M>>`UlfW K`݈ $$rDtfBͩIi)|x +6v[lF #&Ըvpa4=dc3,evFagѫw;oh4)! lx|z5lSV[(=&lOjT)gO~F;p[z>%{RY>a]+KԌ#]jy/z8ש]A&qVWXvXHN3H?sGG0v+1m "=wћy$EnP+BhًD# Kgxi󔲌@Ӝy7ura\dMVo\S$ @I<vڪ\]NBr$*s.Pҝ4M[xV0IsښAh$F*A%;&T|43\1%~n\SQLu#sbB+pr߉eZR@[\*!OW%JxOeTIНb쟓438 U!rt2_r!^Y +^TbZ@݄uoC + d#4}ԋ, +`hPp֢:O84!}~\QNpa|I.21@]{rA팤n"ɭq7^p,EoU퇵zc© 4=IFj5.bt%g`Vhz'Kz1Mi|f}z:Vd E2'?_Ǹ\7@AEsw}CFD %P/Xݣ=2 +C82(<+?V9= +̚. :SMH:Y)lZRO&,M.yVo}l(Dbn[)/Pw\oXq.Hy2"/*'шG͑Ge > Qg0efx;%_WrߦwWI] +Stɐ!kO8/)o MGhfKGg6 OaD_wBʲ!\VxJ-R0Bh]ǛXxI$塍'3gOŻ:4  ` m,V騇H-c +b["١Y0\(݆"قXHWk˞2ٮ>fV"!]\E#~$A_|*DpwmvįB @1:*O\o(/dFdѬSx?T[ [r>*vr=3tcjoB/ZSjM}\F(DJI)!O~6&<.dI"=T?wr+{}5U{n"|/$634K#ذ% Pxk2F!&U0 5EؽWH60~a"hM=}{~@.>jԨƂA4.^$>U/f~;1>'Q-Q5 X~Lp%dѩzwm +c5؆Q_auԈI9:Nned W`+DŽ(D K;є;M֜ɢyCxj;Iݚ CٟW>~o,'EZ{G#{; c2v5Hfl +\㈛!ʞARK8a=dSmHCޮu36hwXٝK>6淹QNO^"30Ĺ;/Ý䛽(П;&K<3Sn+f#Jr}ߘ[V,쀵xT"5:pS@bòSq| g5=#qiRw)X^aRvq'fpCkFH5AiŢq,_/Unú%sw%xo,4a/*ND4¨槜?;KL.jh%T|tZvds5Z*rQm~$ g:Z b?m5Cؼ+o8 Yh  #, ,[}14(4Olj$ϠZ>PADߔqlt-SԺA#;) +W[* +0/t鑶C4(Jյ|?kLW Z>8~%o5վj kWwz1NS!7緗nܠifcm !ĵNZ“EY-Q +1ɐ)-)<{YKZ 6uyRzר#]zia!"~Ҕ"3$Q)wu1bdkzi73Z9MiCwnt6 i nFxZ.qD"t7/![e/vqQ+hBr|'|<]@BO=AF}Qm cS=|Q:!}ڧS'gߴ2*eugaUxCWcPhc6j3%6\g g<#6!U^϶y.3LEm)|m* cBA$}AwFbeRXyZ=@5:o(g^ropep9lf߸وJc Oy+:\x\//Q 2Nҡ|% x> v/>,{wMx%oJ}~\;yc#Irp|DH&Ȕj7"%ACЌ躻vJFCX~^,Oknꎩe-g=^|k;B2\Yq]$}&&Pwix S2cTF"n7zMJ?*|.$D,oRh{Aߋ5=lQm)"apY9L {ۣ\8G}## $; +,+:##] +oHG !Y7E8Ql|R(y*vOM?o~l*s8I-͠2|\s1xqܣ [/~UrLP9iH3 .٬V] +\u0ʁ@piȟi}u#sT<7 e3$_} K]]bQ<>O`R (r˘{`a*"zm~(@*Y ~z%=֒{Ǹ-M8헬Hi&~l1588&:ĸC#82{K`jn݁gUFcbwxKݑ2ic@.0N&ƥ鞸j[hǺ חKl&\9wF4h5q1^)M;W #~ _=Y#e?pҭ.+u^0ןtҤ11 ѵ,76@:.Z IɂG8`S'OnatۗVŴ۽Mg=}DlQb̍˝BɎ;7EቖprZ0<]3@6sL oKek-q*!@l}aQOmkqD{K2-=]Xq:B΋~TAvB-#VcyM9Pram; @07ւGKA`uPm9+Wn5ģ. \&DK%btL;Hq5+ZIT@~?ddŨ +dFxX> P{=c ?Ƭ$.0zݴt 4$qm%i<yJ~-j2JU(gì?wMB&3]i^7#h]TF:  %}k"00Mx<~! pO׆Jۚe =liJܺMo4 ;xRy~wbNOP"8`j IdsJ:~ V=Pp 88|(ѰyzxDT5g>q xB= Є9`j*YϕZ3WAu+? ъwUM(K.5(w!TA)u(oJ'$Ce@IOolg,BiZht\gT'7,}z\_veCMaù˲q 54Lhp{FfAsb gH] +:3h.T+Y5Cxn9zft♱-;CRKE^xu)W羜m &[IS$&ϸhK _(hCI +o|t+¬׭ w8#yPJU AΈ|u22[Dmln#z4;>c}L/Gq; 簎:. +Π^Nm} <.(ڜ`Qle:[(VJb }ʔRG\+d}sm\ȹ!".8?N|mn,Dq:L%]=mAGHĈxw޹󥦹;ڨ6Q3EkڮYeouWT?gv#\-ƠT0աTS(c?}UΊ>oE7 }רJL 4JF VeluL9j|VuΔhǼfZu6 LCߺF1eڸ|ǵ?Qb](3[x]bB>]Gߐ^VLqe + [5(N,eCL(ޝe3k;5O,&DN2)lȲF*)<`~N(]aR$yFf%&|%n-F q2;5KTsIq{?E <鉩DW?A#* +snk} {98f Eʵwo+jLѴqڧ;fDhfQ%)'bs:Q1e*7Fa]/iDbxef`iOBoW)m9p=‚V332n7ř8 R}uh?hJ_V0>oVloR +mF;a7q8G :]~PgtED_A!73XzpGV868Xt|t>ˇ g(oj'sML;FdK9ټk#v[3=%T%1~ JV`'"?cPQvWV-;;{dprf=6_{Id l>{`MI hl!#ذ;dlEsgڍ 2SW5rA7պ#toV"ƲWb( +!,7X/PNW]ݦPu +endstream +endobj +54 0 obj +<< +/Type /FontDescriptor +/FontName /LLLFWP+SFBX1200 +/Flags 4 +/FontBBox [-223 -316 1694 925] +/Ascent 690 +/CapHeight 690 +/Descent -194 +/ItalicAngle 0 +/StemV 50 +/XHeight 444 +/CharSet (/S/T/a/c/d/e/i/n/o/one/period/r/s/t) +/FontFile 53 0 R +>> +endobj +55 0 obj +<< +/Length1 727 +/Length2 10601 +/Length3 0 +/Length 11328 +>> +stream +%!FontType1-1.0: SFBX1728 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1728, tcbx1728, labx1728, lbbx1728, lcbx1728, rxbx1728. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /PMWZTJ+SFBX1728 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-213 -316 1617 918}readonly def +currentdict end +currentfile eexec +oc;j~EЪ+`U+1;[ihd_Tw ρb=I"ae ̌!]#g~Q^VmcNtقP*4Jq=G1`ސnG)]'Z e+hb? %_hpZa2+mna?l7qv4NqE{A ^MZҍaLFys"8~k:Xh:\`֟X_E cYeRJaamwLlwX+zMhHgZ5,UTix(˖XٸFWVo*t^}Lկދ?RY)qˆE'p +V•8dC+lnчg|V8HՉ6 QD;u* rzJo}5_Gd&5ׅ麶MuPwV#@~[O'@%/(:eeeu_'"ڍEq^DCӧ=m&>FDdȪ\lNRkPO&Eq!זv- {{:+1W{E^"`} vk.<7Ehm~Kr zYV"\:7\fob7OMFͮ.Ck]ĥڤv=hEZK@NѹYѦY#`<ہZʘ!` z::VMqE_Y9X̽pNőjw%g-eK d0t{gq$}lA@oTrDC|>̐J) +b&w 큣SSp0ؠUAa%AeRnLѹF.WIP&!ώۛqSh'߯puU-eAw=Y̓c=uuFm UEl၏oܮ * PPIKJ= mhfwJKE!vXI)%}h> fMBiyStD:%7/ Tk<Q҃%}NsԳnQ"ү`"Bp i)8s-%DGxRʺӈ] +m7HM7?>ɽQ,7oZ?gdZ/|i7I{"\NPx7M+H+8"^96|_OKN872˳;X0a;&H<:׆EUsĝb)Z41I9v{\BfLxvսTj\̬Pwd73dNGWsҝndlšMsªa"BF@N#ZEd>jLN96a _kn2ݨ8WV$ಳhOnV %{d0.03unmްn1LBĭvK|p{~:YxmLˌ8{VBV lh|ҷT/$ś}TKEָd\"g}̢|!T/=dzs 00w/XPP>jԇTSu``⟔7e.>Oc1bis$h[!E\Me{/*I~yս|lWb? rK pzOA෩0oIXQ"1TFFn_3Shvxe@O0 +M'je?P)8m6>ʩۍEroCr$!< qrډ8q fȑhq٤=e[%I 4Xy~"H6i_b&&2пې>t\m6;!R +Q]&j3fYɚa^ bgO zV ^oF-c.ӄIeo +JK\P!у ,c5|Bg%^=ݦܚ?47bs2X]kFQg5YeXxdcv/;i0H in#!d+S0 +1DȬW*I+xrzԵ\K+ ,^ԀyӎuW,ΰO(o>&Aw]DK +&Va`F1/X|K&%)Wp /y{au"T)X\̅ԓ[!QЄNVz 28/ux_@Zl@ <7Z~dS7U1N܅a04Jsw欸g|7u/9VUVsL wPv*.@O UTme)89Z8ӲpǴbT_RGì߫>@+$uWҼgoFR?E6wfC{@~:$A8_L3A>P^4z[{kR 5շɨےcHҒ`Ҡ拭EsCHpL:TI7n9f=7't)΂"hYh)\E ,cF4)\`H U&8r*-m;Q:46F NFKO$SYp-&V>s`^3^`m[r6&Ee5 I}5@zfϼ5mwB ;湓16/#Vp8ɘ9ON(>*"Tu11#ʶ ~}R+,lӍ$4مs3m_I|;Crzdyua\Qcd LJM;X7I1f] ;FdoXJ$,}V2IOi&>BAc4b 5a/Vo=wJVRdKAREO`H_ԦXaJ^ BI"?ϝ/?_͇l"w,ǮR\D{Գ)@K(DnYKoK0.hX{XiMf ЯDNF޺EXc3z_eZI "ƃ`#+\= +=Kɩ`c/#NyLӡ{=jnjpt =g o(|q|?%֛FILŭga@RjtAB^9i pCyXt hI}ZpY~P>Ͳ?wYx؍DG2=R*K2 Yq muӤxD| +2#E7r׸rLE(ڳ;T:X4Ea'. k~#O 1G˅Jt޵F1r QC|ffkxy!JӉQ*|(ᬊyϘ9)|:Doc@$ڵK%2LIP?Nc x3IsRӆ0FZJ~ZT ܞfF0m9iueZ-{#E(Sipm̲YN/p/ʦL3k[Z~͟;ؽ3+49#IlT(jЫ(CXN۱%^R:wHyW\I,;27X{^a){5B#AuRdON\wUu|V|&SjxQr9Vʿ{ +dh/ HQ~ڊ¬7WfsqƖעZdFh#׮T<7ZYٖ{/a!qS:g#zX?d`sk>j}[Aq7'$C\x9wc + 'A!8%qiP}g[mTƛs +ZW3t?x!. OG:^U<T#BwXjp ݇RV(K*[v Kإ.=M +1!&jkńl;DX*mvfgA@ 7CEk"u Mc dd`ϰtiR$l6)s{} yT߫1 +~IYW9vs3=o`8j"%lV>;>Red3GhWdV1~y5,u:IFZu׾և{cx Ecqf[\@2ڋe +[Pcm1+r^5z?K1r4:`Rx+5ܔhQ!KW f4_ɋ޵> a,6KgԪr jkwZh߬,/:!#r^@YJ c:x.^sb"ޣWJ) 067V7yw_#ÓrWoX/`&(ȳԈ S׸Jiт[5y5D)-K*i{K$/058!9xH/JѼ+G, C-̀LX> +p'v)g /g΄ \Ӗ qfL?ɉ2v-#1Eu1U%&~=˳`GMTԄ't Jл`E<v6*'j}>eX.DK:.1jiq!z["Kۀja`sAp,f:ZC)5լ3R7zo)l1;v(q n̖8 +7vyZZ˹o r9Gc +.ObZ46C\ycxo|ڀ6r>eg@2 +b텆`LGwfN{|X"9vw)UdI@qU4ZO(>D˗tocq.q<~nPDZf(ճw0x0kߚͱ$ȽGpb5a2Ń>76KX*n'0͕D"l[fu*HaOI'}Y4+3VyږG`6f;2}+vө@OQ٬MVcJ47ova!ܖ1@f ȝ c|%[x>tg4Hg"GʎJ$N:D-BSC0Ki~CޭNx Fp +c +M_ +K>R'ea'ȏ|^>)@`nu;~qiɻ=a"1~TCָ!H#ƌ:w,p,O#WcVC9/oV̯n2H߭m *15!y.cջ[5lȟ`P >~GHkǕf+brP~r% ZOl / =XIiҌ?FR ѻȓTczG̢44ZeA˔}!K/ycdz@&tLu49 ha_JK^xV|("p^KT*! +9C3Smڻࢅ2{/*_V_/:8hdnz|%.Y'ҴeNW(z%J4I֜ɢyCxmK[v_ (ps~?@MSW/m)pQx nUl|_ѽu)Y[ը7]QJ[pmp/́&}7v,P`iBu7l (B6,theDY"RTm9NNvtmFÙžmE=dt1NczGZ5Z_|~]5@Nck7oc'efR7@Hc'q72q74vbr1}TC/+L%_t^$llYCa<^"؇%":!JD-A!%ps`9љAJWNUq<ŇE-i"&se'V=\j-,{K{>Qph"BN@n{6K[# YN`+mvUxIF֞ x*zc%6<~0bh䝾Ò=>Ikr~j+h|*~F>6"cRμ5wPK_; ]Y20G"eL]-p8d>gjHSiw?͜YorfƋ}>,mŷ%TcÜέH`ބj^涄3\LG*ǎi}9"VK{G?:}]3ڸ鱃v[qq|e5@ 6r}*I+yG7F*X??>tLY5z9Wܠ#e|]e<hHeDX*2{adžF6JlA 3*a^kTVhcg)מ #IJJLH7G[FדE\*{ +Vs/\37nKB4urZQ;ۼ)4oRԚty9\"Hħ$u;K8’Y +%z;G YU.GWS;Pq|̳ +2 VIրeګsO> (sثZYȩnxJmU^|B [iV@)P)tt ԭJ% 4P~&%N{^ZEWU Cv$A>i(sE߹-j.'YfPr%"1%7@TeTbPގ:!:&> +endobj +57 0 obj +<< +/Length1 727 +/Length2 10510 +/Length3 0 +/Length 11237 +>> +stream +%!FontType1-1.0: SFBX2074 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx2074, tcbx2074, labx2074, lbbx2074, lcbx2074, rxbx2074. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /EBFMTC+SFBX2074 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-208 -316 1589 921}readonly def +currentdict end +currentfile eexec +oc;j~EЪ+`U+1;[ihd_Tw ρb=I"ae ̌!]#g~Q^VmcNtقP*4Jq=G1`ސnG)]'Z e+hb? %_hpZa2+mna?l7qX>BTW1 +8)a8Xe;pOѭT[Ufb4N+nэZޚvd~[B2V$02&\4D9<ץ"stݫ /kX^3FRq}[ bI^(G Twˆ"FgFYJyn㻋vhc)Bٜ1I+`0Z# /[y|+f^\Յa21>dhi!=o^`Q*FrVp*t8ECt-+ss8 P7@"|[FuJ]_@π0b2CE5y~G36/kU T=h~ݻ@#Js8klo7iA99K7 +iB*SHj`z.on+.GE>B?3 JXPM_jma9` >Go\^RE q.g9eKN;3O8 +tC T|IpYAv)s:}x}&gbPt*xFRBq"8Ɖ?9D*qr~{M3psvT+Ƭi=i$m|p%fW%cNMHS}Fދo$?_z"y"U6,"&M-gR\5܏Q3^pݦE2ToonĬ۞ ^'Hᾟ7{Z̴ꃤ˻3+p8K L3y/6Ѧ.v;g_kθFMҵzH!qY*8|q@ZYo9ˌss4$8Z%_Dgf,YihSGN{8> v̱y#P]D}v nUCgW9Wf9A'ȕtWmHԕNoƙXe1xc۽No#bN5F8sc[P3|Fk6yЦ=M0YpAbyI@?䂇,ijޚqwZƼ!&TOΧ.qlJ5ӶZ0k>9iu,h{sb"C8X>g(TXH%'>S҆qA=2/PͶЋ{.abLPz[jְGos5SND7 dټدڥÕX)cMj c. (':8*,ASY eMrxGR n}JdG$4Ֆd!i[8Eʍy.!CL~NJ#Ga96v3vyY3kWtKP dCnY C &_8$򢚵ܟ#2_N+t;2u*#a+,+" V`bvAڗQW ؜n_!vh[;C"PY1+=1D;۸hr/?&7쳎NAJʺ'3qdw;3յ;k`MKNZМD,2D"؀FXe aTWǿFR^/ru.?xa,Faw RBT9ba+JmFi^;jFVMVW&~‰@eyD}or8_ӵp5 +ՄUGtaȤf J ?(D򈎻@~vR^a{8lO3{1@0/*5G=MOKm'od/.oX VPH5-NZҙi#~E?Ze'޴c.'? wIC7d284`jKu]%lǁTNN/&>c1]JbAqzCڢz|D )dO qc$6mi I ?_@M9=7ٲH/ݙ">?eM2` 3ʲTpF؀Y,* PLEbFu{Ik7[R?ⴡs%Sfl\^P fN=-3F]Zt~1c6^L[*3eD;]lFy2>ȳ4+,W1|AC 0 q4T1+<7CQTPg#D dɮ4/kms@q<Ґt(1uh~ȰqG+6. T.kĦl0UV#{~@'jTV4KD`zBF64yk +)$T[}tfj=S?6(9ml'5RMxCX (g$BH@ړ +ECE1dCTchFv6_q!K;k[ $2YDX,zF[SgjLn?:CXi4?i8Ԝoj ':[DN|v4nq(01ߎš"Öl;ujt6tJu^\fqXcLkxyk + +[ngebhrΊ:H//5%DX#!pgfp)Gyx,x a:YSO Vړ#*X˶b(>J\; MnԱӶIV +@S jz.]V=(AQEe߁&İUm8Pb.: +f+brP~r#O,#r bQ3X'`=U#8܋ + ev>ĵ +E7sVgy7_L-U0(#S U)5 A(υ+{F#wc̏ʗvrCXN۱%^R:wHyV#=\5QUS;C6&+_4†\ +}#^BJ\*'>@)l1;GqiP}g[mTƛ`EG=yZjUf3rKC.G +@Mh4]uϰ;`.fT^=BD&C_W I`vRh"„1+L\v4%ˮykޙV,0& gxcĄvA4>:Buo؉wt>Ow}Et:WX-Q )<$A:CB8? +fm-  |eEI WvR0#[TGQ_sg UYO,L;E|K02iKcZxɴrsEsp3_NTx/qo\(QzfeaA1lXlƞsr1uOL m8%Cq\Z,8cbNMl +jUI _^N"B;:xb~~EŷB .D{[M|SY3=XZ͗ZJm)HpfCPI#.HntX)X% +[BX %󩨷J;kŐqS!]Rkz #sWrΙ`8KSY+xͤm;.]7L4ҭ7` ' + NGnTSC˫#8r!mp XsnݩjHaFqJ_TH[ie k7jw>UtVdR"@pUڡSf|~9 s/vP^ʜMo^! t8{RZ?,v<9T{f΃FY1K@j7C@1ϾqEy;'78,[)5rӂ=]֯3=/XYm+DDFvVB-msԠGI)%}h>>0ڲI-58]&7I0)`Zy/|KW׻U5* :i(d@m +0G`@3W?=_">t? ; +f݉+E=nO]֜تnH[,7%t;%I &g;(|cltW69Z(zLycoJ?.ur@P`6!z3cx }4Utnnݤ|= ?UusjGA}q7#kqBمh +i 5j]rD,VSg\9&<"7P '@lj% ImY#w,8W^w9aA pݹ^b˿IoM&oލl$8 t#k q?}1d= $i0l+ttSR֭/r ރigkF0B߉zҚ"L +yؽPJ=\ribsŝ8~SP^[J]h` n:œ>۝k6[C^#\Eb&UӰc$*P@ReGߖ*rsԚ2񟔹eHpcL/BrA^*&A'IT fŮw&;P4 Qkzט]}a#H սt^z9)vo&x0KCZs)b:,ϠQJHrƹh<+v4pۦY8yr.z,P-,㎷-W,Jh<;GKiպ=v @ v 6/6ۋ+]Ҏ4pڐ֟<:ҡİ5'i6`3IP9@$7>) upiC)~dK4chW?z`D[LG<e5eXDpqaD@j&P03zved.xcMRw )-xG+0{zήd"ev>G~*"sJ?mQZdGtT'x*`ǔaɘa ArCINR 19nʌuEVmd4$%IIys%(-[%QkY}` wɴ[:_TȨ;}歏<~K={WR۔<&eM;^|k3)wp@嵒J^L$Syݔh'µ *+<NXK""Xa! 9j5T_{ [Խ4 + Z)!=Y`Zzp(ԋ: [X'G>En5slcs}mX',o`oz :`HS@lx+Yq\t>MT^APU-sCAH,d^1ੇlq?ص  ̜Z>A2bӝZ??>e>wg8X1Lk9#" +c\rɮ׻!5CuV\.hZXfg[ᖞ&k!R]ˍ',4Ina4(ztw+•z.; ;[poܓFYQlFՒJj [) 2Ht06|q="٠ eQT= +)H7`bm1(baN]3Ež8L. +Ĺh`ڹMA1+pR V!t!dlىҹ3 Jp!a3^79ϠBF ?Z 5p+kTAI +m cjE5(~P~4R-sӎ_e:R̾*V%&I܋ԂXNowY}Y9X~X`<:^+Z0^,jʟeK$bF[ m:4H؈!ׇF۫#?FqU)z@8z cqᄅ}^ƖɓpZbS-;g_W)"9䴜G(cӡ`zH'%G)O ZGLnИA2W;eܫE +iK@Y&hgKFϥq̵mr), d5K{z81,BY@dClbkw][Eȅ.ܫa1 +xX.1ư9}b( "C?^FyZ_0vk8S/uOim!L$@k!`KbΈ&|+$Pʷ_xM׍itPM:%;ƋmsH1R:R}>Ra?ZXfaed`GcaGhV!Q6-GdA|ߪ>쒒IT9S7&aG?857v\8ݰo"u( + %'/䥗 Ɯu.I9;ug&JtWCo/LG_#^$;6saq9A +& ` +USy?'5r,7/+mzgv!/͒?W.~Y75K2$FTAK@ձ= Q:BrJH7ad$8!lβշ7N:7rYޱS.|y|z( +80SKnw3G3mO~֊\ʢֈԠ%LvO5 +endstream +endobj +58 0 obj +<< +/Type /FontDescriptor +/FontName /EBFMTC+SFBX2074 +/Flags 4 +/FontBBox [-208 -316 1589 921] +/Ascent 690 +/CapHeight 690 +/Descent -194 +/ItalicAngle 0 +/StemV 50 +/XHeight 444 +/CharSet (/C/T/a/c/e/h/n/o/p/r/s/t) +/FontFile 57 0 R +>> +endobj +59 0 obj +<< +/Length1 721 +/Length2 10748 +/Length3 0 +/Length 11469 +>> +stream +%!FontType1-1.0: SFRM1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich . +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /TWDYZY+SFRM1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-189 -321 1456 937}readonly def +currentdict end +currentfile eexec +oc;j~EЪ+`U+1;[ihd_Tw ρb=I"ae ̌!]#g~Q^VmcNtقP*4Jq=G1`ސnG)]'Z e+hb? %_hpYg3 WbnswJkF*凉9i%$W:4&pn~YTn!z[jR:_*ޫ2kc⋸)F5kނ*.&YG%6H~1,"lYl&Mxƫ\ABtX]X}tV4>=*y@Ru"C0]yN_傜¦V:jœc'dqWѐƂW_P3I܃*S7`~%14KcWMJ/ZC\0 +C/"zOo6e#utPB5`zS 2^]wv"3-> Sn天M2gSt>z.aR~51G~"YjJySnV +MHȼ#O&~S^nyų ;F`{ }Si9/H_VnR萤<Mmw6sL oVZFzO5vVyhz΀fC:v'|l mqk! Ɲs P4<4Ip'fo-F44~ JmS<`dhB^|Ј"\E/w=q[^sx-4_c(y+PpB,z;qècg\URj;fȎp$,G,&1%k +dL`|42v0 '6 ꒱a'S@kL^ ZHT.=gV \sǡr7@*zw.Zomٳ]^X/PGFgLՔFL˰%@1r8O$#!RNۈm|gu.W,=$lF $`q ݕJ6|)hjKqM I5[ FV,$ + ]!jѺ=Nx x$1tE]\ߎNx]l/)ce c",>w[`0aK٦t7gt$;_7C;OU [Zp~1쟿f/"a٘.- ZGL%>ƶ E/y)Bbﱂj6bOi%=`uvn~=;1 l_X b?с3I&'/Ȯa((E].V\K;mo0LUrFro*y5H*zh5%B x*ʹTzh=L)h8e9EV(SG݁HWt!z\H5<9uNF1yiU}6v{zŊVS3wڶݞ҈7ƥ`s_&YmCi(=66t{ɱ[%=٨NA,ȷ(h5%'ӭрEU]y虝V)8i* !$1|φfpDNuAŕ}Wlؐ,&R3ےI4/L:3)t -VTmoa3V<2s c͛]mg*fz{[ ZkDжj~T36{S}e:\֠#Wۧ'^QUr +zG?e bԬ(+H~ c|+_,\Xg+ְƹLiFU +/PgxZ !m&o]h+<,e701](;ڹti1&k j+jBi'y#=rd2zſo*¼vî$qd8M'BWìaM)Irw|M`8oֵey +1#)e=4O$ZŅ4b5`'dD\r5']1Xo a]WIj#:TnRvI1S~B݋!m3,W/a{Ą"7_B⬡㼹C3n&Y$G + կ]K۰+sԘt53ěҸlp}^¹j7<,؉',L ʞEtI2ٴ*Le;ͫMNfӘer.Rl_ +R+ofyc ȹhluG11N`)6ҵ]KQ9ړTG +P.QB(SWdܟ8:&B3<0]~,/RLWZdߵ!1`48JkSY= +Ʊ}x%2? WB- +\n1]#l O~b7M ?#>)g& f:4{Jy*%AyϚI$s-!ĿSm_ݦskt*IwB>XEE17fA@NjҌy +ҁmCև .qR-[\n4u)? 8lBfCכB6 lICl^Vrk34*@"< +ְFK@4wYnS]Y nl WX tcfYIs;TӘذ-.ʾw,f~M6v\{(٨dt-_=jQD.#`<Qڐ; *mGUC/U9:,;-gLʼ3.s9DyQ7A` R2jE|*?i{]c # Q=n'S3w+xSu%7XC)Cϯ$;z'kIyE|{6[ӳz+VGJ?{z%3;ѸI Ќ@n 3%oe;δ >zfqG/X@o/( /9@椄Zaů&nej #t39~A-AaN^ ,2%Z#_a |K-iW/woCѸ޵'FV'+nKXe6qeJxRšg"ɋU]vfֹ6[yΤ$lu?MʯH!Q2t6i*+c 3RK@T2PeJ +YaD5"1ETmNat 6V#;F\Z}mKk)rmn\ ͍[H+@^nY~C&Mo +U ъ,G\ I`ꙔwhZ0i@+CnH׭fx LVN=(q/#U,e?UwO`z{C|LS.Z_cUI_B[Өu{ޤrUHSfdKT,5E`ЕN.7"!Z-T1xML=8{>#ImY'4[I[VU#E֗G5/eĨx t Zdׅk{{%8XCl4xj;977l+-N&Z "3>PI"}nXD MFےpsh cs*aU\ro.~ҫoTJHdK{BWY+ۙϪPKN*_o9v]!;IqR f}K'2ïii#NB,M"w6c|Z9-ʹu9 +Oao"HD4Wr (ܨCt:>ʩۍE`^|MoC=ozH{"uW}ʘI{>#(o_{z$ ȫ͕i?_Ľ$5ٝVY^g潖-G{Qzx1a7}dƭgv={x.p-SeȜ2-q[8!DGGIGED/nlbw 䥑HvRh<ݩY1p=RQ跸 (=pJ _ImջӞSb>/F`webP(L\5 4׫LV ?5dwR +hd,xjΐBCoxV߂~m!W45w|\RtC@fZiPýG{!fA~\8QG gؔf'Gkyi&%3ͅՂ`y$RY^Лj[8!DE}傛%iP탥8%Oo! a('}̀иm-Q2@mL!2Y3;F HșEŃ(CatS5;QG06V sZd<"Os YRxQfA-h&[qSL8WkXA6Z$kc +Hd%Hɍa 2%Jd/?EpSplx5ԦdqS3Cb*JT ^kPD.[Ƿ뉰%ꎵA $leDhz'Kz1Đ U:)YO HjFg ߎtKe4D^u(ڒ ef҃(F(׫qB>Z-u LGǥA)`F*hj åă <^fvz72a6b?2b-(Tp9AM{A*w5t76lRXI\NnbS)$/2}/ZIOEYMv(u_ C ֪|$<0T1- v5{[L(o+^"ש}FlSԤPj`#{cXxt<(c2|γabUܕtJ>I_+&n\IncͶ_u) ? 9߫4Ϩ7k G3!UDe~MLH:VYS5Hs\HCeF`[Dh[gݔoVA6a~yZn,w)U]/̶pc` S6#'X"$Ք8Sʷ9oi`@o@ eԷaRvh\ q +jabLP^҂%¿4LZo .W;Yx1@;IJkSju׫򳥾'&uD`txJ"U1§NJniO%"`#"<\߱pFsqo(wT,15/CPuY<$/ -`恌"Vgq=UlWFѷO\z#_J@ eMFff,ChȕYzE-Zel +YUu]L:7da;gᝣXK"J۟q}7Ta9!,}5oySe#r1Xo"㌄]ܾP;ujvAJjPZ=x5ILfUoxJ^/cFJ ln aOf>Vk@`ۺ WxڹS%w D)Zڄ%fj۳ ?-T&e9+f\.ǰ\P k6I 'LgE%҃TU$ 8lVhW<M:poU~k0R*YsAĕv p|yn.1Xo-7`},Id9[G%ps-{z]` 7~ة ~Ka= G+e:<!Me!F+L?,Ś, u}s7yWJ낡'se&#;Biœc'dqWѐ%+r:؟/ ϱ$6}^pZp*O&O; d)3kqyf#_m+JqQ< 5%%̽A: lRU/hߏzdpv(2{9;B-7_.v_zEWK{ÈbOd Hq 9i0tM3.U9p_,SG1 +!5KqcSw mj!0g>[OźY> +~jubPDMd^{Qo}Dpft&.)sɖӧ/0+q?5fE߁6tLԆ +Acl̙?{Uj g(TXlDFzӍi +RL1 <|:2dT9Y2((;tYޘK +]-\FwXW1P7+HL 44lfٵJPh}Hƞ@RXA'6CZvݟ~{7݋U_$9\-/>$W j&B-L@|gj|n9\ZW:2*RPT2|Xfua]XŌM \yc#!4rp-bdr=2o"{_B郍 \ޝݭTsbqޕ!AJ`n@f B,38:f6RUF3:?bUpK" +5Cpt yiRh_UB T'NHhnU O^ٔ Z򲅫<x/ SD1VS_5V'~WF{(АX\̅ٝ-t +FvNJ.sf]/T#hl/]_c8i?ãR%/yU:=,մh%U4I,/cIW֖̐p9-&NhP[&+8b},hcͦ}ہXLҙ'?Àز[ QJ@o,G G%Wյs5Ó1[{$L܉5Ʌޜ߻6$9*~zA.6P򜡆r$9XΝɃu!׺PDN+Ngg;'GvXF$q[(M@Y j>5Ȁ/U$)]@)9ԃs L*>7{ǔŇ=ֿqmOҵ\^{XBN5_kXp3Hn'it;wN|cecxh4fKāyTn"! 5%h0;[,kgΐfaj,$Ak³i9&jOR Kb9A_("FTV-k+$dA]K1_Vy4/@xDXqJn&+6A+DAgڻK5o6O1lN|oj^Лt.@8jFM g6%Oloy.) 4U?dL=5a-f1DKE(rӓ%ʢt\k%>UfSAj?+hxmS?%w1Bos鈟PA{jmi^X'R9$¹1eҠi!dP"vxޓ=cF1N+7">BvAL$!UŷqA7P}_Q^y4SȴBˍ./ ;( uSh%+=ڝo!5^sc:iŽ\>T{W19nԁ/QY% o\2ao,bgTA&$4Ns4}mkK\7zaL聬!xǵ+9@W޺SAZ[ȵ^`mM~)7:J0ny0`*N|v LJ^<>Rj!fݑN*|^mV9 >*YyUu%LvhvX9q%>֯f`їla'Ew$Q"tD` z#aw0E {!Cq>gǏ 62BN>0X;> +endobj +42 0 obj +<< +/Type /Encoding +/Differences [46/period 49/one/two 67/C 83/S/T 97/a/b/c/d/e 104/h/i 110/n/o/p 114/r/s/t/u] +>> +endobj +26 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /ATQFDO+SFBX1000 +/FontDescriptor 50 0 R +/FirstChar 46 +/LastChar 117 +/Widths 47 0 R +/Encoding 42 0 R +>> +endobj +41 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /ZGATEE+SFBX1095 +/FontDescriptor 52 0 R +/FirstChar 46 +/LastChar 117 +/Widths 43 0 R +/Encoding 42 0 R +>> +endobj +40 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /LLLFWP+SFBX1200 +/FontDescriptor 54 0 R +/FirstChar 46 +/LastChar 116 +/Widths 44 0 R +/Encoding 42 0 R +>> +endobj +39 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /PMWZTJ+SFBX1728 +/FontDescriptor 56 0 R +/FirstChar 49 +/LastChar 116 +/Widths 45 0 R +/Encoding 42 0 R +>> +endobj +25 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /EBFMTC+SFBX2074 +/FontDescriptor 58 0 R +/FirstChar 67 +/LastChar 116 +/Widths 48 0 R +/Encoding 42 0 R +>> +endobj +27 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /TWDYZY+SFRM1000 +/FontDescriptor 60 0 R +/FirstChar 46 +/LastChar 117 +/Widths 46 0 R +/Encoding 42 0 R +>> +endobj +28 0 obj +<< +/Type /Pages +/Count 2 +/Kids [8 0 R 30 0 R] +>> +endobj +61 0 obj +<< +/Type /Catalog +/Pages 28 0 R +/Lang (en-US) +/MarkInfo <>/StructTreeRoot 1 0 R +>> +endobj +62 0 obj +<< +/Producer (pdfTeX-1.40.19) +/Creator (TeX) +/CreationDate (D:20180807165718+02'00') +/ModDate (D:20180807165718+02'00') +/Trapped /False +/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) kpathsea version 6.3.0) +>> +endobj +xref +0 63 +0000000000 65535 f +0000009451 00000 n +0000006952 00000 n +0000007125 00000 n +0000007145 00000 n +0000007265 00000 n +0000007352 00000 n +0000007432 00000 n +0000005626 00000 n +0000007523 00000 n +0000007612 00000 n +0000007710 00000 n +0000007793 00000 n +0000007886 00000 n +0000007977 00000 n +0000008076 00000 n +0000008159 00000 n +0000008252 00000 n +0000008343 00000 n +0000008442 00000 n +0000008525 00000 n +0000008618 00000 n +0000008710 00000 n +0000005764 00000 n +0000000015 00000 n +0000091685 00000 n +0000091045 00000 n +0000091845 00000 n +0000092005 00000 n +0000008810 00000 n +0000006683 00000 n +0000008902 00000 n +0000008993 00000 n +0000009085 00000 n +0000009176 00000 n +0000009268 00000 n +0000009359 00000 n +0000006822 00000 n +0000005858 00000 n +0000091525 00000 n +0000091365 00000 n +0000091205 00000 n +0000090916 00000 n +0000009535 00000 n +0000009977 00000 n +0000010419 00000 n +0000010843 00000 n +0000011284 00000 n +0000011730 00000 n +0000012044 00000 n +0000026297 00000 n +0000026559 00000 n +0000042947 00000 n +0000043197 00000 n +0000055600 00000 n +0000055854 00000 n +0000067280 00000 n +0000067517 00000 n +0000078852 00000 n +0000079095 00000 n +0000090662 00000 n +0000092070 00000 n +0000092183 00000 n +trailer +<< /Size 63 +/Root 61 0 R +/Info 62 0 R +/ID [ ] >> +startxref +92450 +%%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.tex b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.tex new file mode 100644 index 00000000000..26399df9854 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-patch-sectioning-memoir.tex @@ -0,0 +1,252 @@ +% !Mode:: "TeX:DE:UTF-8:Main" + +\documentclass[a4paper,oneside]{memoir} +\settocdepth{subsubsection} +\setsecnumdepth{subsubsection} + +\usepackage[english]{babel} + + +\usepackage{tagpdf} + +\tagpdfifpdftexT + { + %set language / can also be done with hyperref + \pdfcatalog{/Lang (en-US)} + \usepackage[T1]{fontenc} + } + +\tagpdfifluatexT + { + %set language / can also be done with hyperref + \pdfextension catalog{/Lang (en-US)} + \usepackage{fontspec} + \usepackage{luacode} + } + + +\tagpdfsetup{tabsorder=structure, + activate-all, + uncompress + } + +\usepackage{lipsum}%\textheight3cm + +\usepackage{etoolbox} + +\ifdef\cfttocbeforelisthook{ + \appto\cfttocbeforelisthook{\tagstructbegin{tag=TOC}}%\noindent TOC\par} +}{ + \csdef\cfttocbeforelisthook{\tagstructbegin{tag=TOC}}%\noindent TOC\par} +} +\ifdef\cfttocafterlisthook{ + \appto\cfttocafterlisthook{\tagstructend}%\noindent /TOC\par} +}{ + \csdef\cfttocafterlisthook{\tagstructend}%\noindent /TOC\par} +} + +\def\M{{\fontsize{3pt}{3pt}\sffamily\selectfont NN}} + +%what about unnumbered entries in the toc?????? +\appto\cftchapterpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% +} +\appto\cftchapteraftersnum{% + \tagmcend + \tagstructend} + +\appto\cftsectionpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% +} +\appto\cftsectionaftersnum{% + \tagmcend + \tagstructend} + +\appto\cftsubsectionpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% + } +\appto\cftsubsectionaftersnum{% + \tagmcend + \tagstructend} +\appto\cftsubsubsectionpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% +} +\appto\cftsubsubsectionaftersnum{% + \tagmcend + \tagstructend} + +%begin of entry +\appto\cftchapteraftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} +\appto\cftsectionaftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} +\appto\cftsubsectionaftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} +\appto\cftsubsubsectionaftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} + +%end of entry +\pretocmd\cftchapterfillnum{% + \tagmcend + \tagstructend +}{}{} +\pretocmd\cftsectionfillnum{ + \tagmcend + \tagstructend}{}{} +\pretocmd\cftsubsectionfillnum{ + \tagmcend + \tagstructend}{}{} +\pretocmd\cftsubsubsectionfillnum{% + \tagmcend + \tagstructend}{}{} + + +\makeatletter +\patchcmd\cftchapterformatpnum{\cftchapterpagefont #1}{% + %\llap{\M pnum}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \cftchapterpagefont #1% + %\rlap{\M pnum}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{} +\patchcmd\cftsectionformatpnum{\@nameuse{cftsectionpagefont}#1}{% + %\llap{\M pnum}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \@nameuse{cftsectionpagefont}#1% + %\rlap{\M pnum}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{\typeout{patch failed}} +\patchcmd\cftsubsectionformatpnum{\@nameuse{cftsubsectionpagefont}#1}{% + %\llap{\M}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \@nameuse{cftsubsectionpagefont}#1% + %\rlap{\M}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{\typeout{patch failed}} + +\patchcmd\cftsubsubsectionformatpnum{\@nameuse{cftsubsubsectionpagefont}#1}{% + %\llap{\M}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \@nameuse{cftsubsubsectionpagefont}#1% + %\rlap{\M}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{\typeout{patch failed}} + + +% section is typeset using \M@sect +\ExplSyntaxOn +\prop_new:N \g_tag_section_level_prop +\prop_put:Nnn \g_tag_section_level_prop {chapter}{H1} +\prop_put:Nnn \g_tag_section_level_prop {section}{H2} +\prop_put:Nnn \g_tag_section_level_prop {Starredsection}{H2} +\prop_put:Nnn \g_tag_section_level_prop {subsection}{H3} +\prop_put:Nnn \g_tag_section_level_prop {subsubsection}{H4} +\prop_put:Nnn \g_tag_section_level_prop {paragraph}{H5} +\ExplSyntaxOff +\patchcmd\M@sect{#9\@@par}{% + %this place could be used for something between number and text + #9% + \tagmcend + \tagstructend + \@@par% +}{}{} + +% section* use \@ssect, but memoir redefines it a little before +% calling the kernel version + +\ExplSyntaxOn +\patchcmd\@ssect{\@mem@old@ssect{#1}{#2}{#3}{#4}{#5}}{% + \@mem@old@ssect{#1}{#2}{#3}{#4}{% + \tagstructbegin{tag=H2}% how to get level??? + \tagmcbegin {tag=H2}% how to get level??? + #5 + \tagmcend + \tagstructend}% +}{}{} + +% section numbers are typeset using \@seccntformat + + +\pretocmd\@seccntformat{% + \tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{#1}}% + \tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{#1}} +}{}{} +\ExplSyntaxOff +% could be used to insert something after the number ... +%\patchcmd\@seccntformat{\endcsname}{% +% \endcsname\rlap{\M}% +%}{}{} + +\renewcommand{\cftdot}{\tagmcbegin{artifact}.\tagmcend} + +\makeatother + % I don't want to handle header/footer now +\pagestyle{empty} +\makeevenfoot{plain}{}{}{} +\makeoddfoot{plain}{}{}{} + + +%% missing yet: chapter titles +\begin{document} + +\tagstructbegin{tag=Document} + +\tableofcontents* + +\chapter{Test chapter} + +\section{Test section} + + \tagstructbegin{tag=P} + \tagmcbegin{tag=P} +test + \tagmcend + \tagstructend + + +\subsection{Test subsection} + + \tagstructbegin{tag=P} + \tagmcbegin{tag=P} +test + \tagmcend + \tagstructend + +\subsubsection{Test subsubsection} + + \tagstructbegin{tag=P} + \tagmcbegin{tag=P} +test + \tagmcend + \tagstructend + +\section*{Starred section} + +\tagstructend +\end{document} + + diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf index 693ecaa3432..a239393fd90 100644 Binary files a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf and b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf new file mode 100644 index 00000000000..b1c04868120 Binary files /dev/null and b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.tex b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.tex new file mode 100644 index 00000000000..d45dab10e7b --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.tex @@ -0,0 +1,21 @@ +% !Mode:: "TeX:DE:UTF-8:Main" +\documentclass{article} +\usepackage{amsmath} +\usepackage[ngerman]{babel} +\usepackage{tagpdf,listings} +\makeatletter +%\def\lst@outputspace{\pdffakespace\ } %not so good +% this here works fine with luatex, if the font has a space glyph: +\def\lst@visiblespace{\lst@ttfamily{\char32}{\char32}} +% with pdftex this could work +%\def\lst@visiblespace{\lst@ttfamily{\pdffakespace\ }{\pdffakespace\ }} +\tagpdfsetup{activate-all,uncompress,interwordspace=on,show-spaces,log=v} +\begin{document}\pagestyle{empty} +\tagstructbegin{tag=Document} +\tagmcbegin{tag=P} +\begin{lstlisting}[showspaces] +aaa aaa xxxx +\end{lstlisting} +\tagmcend +\tagstructend +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf index 07932412295..36b9eb24875 100644 Binary files a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf and b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf index 1a2efc07462..8445518add8 100644 Binary files a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf and b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex index 5b377f40058..7aa7d9d3aa3 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex @@ -1,10 +1,9 @@ % !Mode:: "TeX:DE:UTF-8:Main" \makeatletter -\def\UlrikeFischer@package@version{0.3} -\def\UlrikeFischer@package@date{2018/08/06} +\def\UlrikeFischer@package@version{0.50} +\def\UlrikeFischer@package@date{2019/01/04} \makeatother \documentclass[DIV=12,parskip=half-,bibliography=totoc]{scrartcl} -\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[english]{babel} \usepackage[autostyle]{csquotes} @@ -145,6 +144,11 @@ In this version I improved the handling of alternative and actual text. See sect I no longer try to (pdf-)escape the tag names: it is a bit unclear how to do it at best with luatex. This will perhaps later change again. +\subsection{Changes in 0.5} +I added code to handle attributes and attribute classes, see section~\ref{sec:attributes} and corrected a small number of code errors. + +I added code to add \enquote{real} space glyphs to the pdf, see section \ref{sec:spacechars}. + \section{Setup} \minisec{Activation needed!} @@ -172,19 +176,23 @@ The command should be normally used only in the preamble (for a few keys it coul The key-val list understands the following keys: \begin{description} -\item[\PrintKeyName{activate-mc} ] Boolean, initially false. Activates the code related to marked content. +\item[\PrintKeyName{activate-all}] Boolean, initially false. Activates everything, that's normally the sensible thing to do. +\item[\PrintKeyName{activate-mc}] Boolean, initially false. Activates the code related to marked content. \item[\PrintKeyName{activate-struct}] Boolean, initially false. Activates the code related to structures. Should be used only if \PrintKeyName{activate-mc} has been used too. \item[\PrintKeyName{activate-tree}] Boolean, initially false. Activates the code related to trees. Should be used only if the two other keys has been used too. -\item[\PrintKeyName{activate-all}] Boolean, initially false. Activates everything, that normally the sensible thing to do. -\item[\PrintKeyName{add-new-tag}] See section \ref{sec:new-tag} for a description. -\item[\PrintKeyName{check-tags}] Boolean, initially true. Activates some safety checks (but doesn't very much currently. It will perhaps be merged with the log-level key). +\item[\PrintKeyName{add-new-tag}] Allows to define new tag names, see section \ref{sec:new-tag} for a description. +\item[\PrintKeyName{check-tags}] Boolean, initially true. Activates some safety checks (but doesn't do very much currently. It will perhaps be merged with the log-level key). \item[\PrintKeyName{compresslevel}] Value is an integer between 0 and 9. It sets both the pdfcompresslevel and the pdfobjcompresslevel. \item[\PrintKeyName{inputencoding}] Some keys convert their value and so need to know the encoding of the file. The default encoding is utf8. When using pdflatex you can switch to another encoding with this key. The value should be one of names allowed by \texttt{l3str}. There is no checking that the name is valid (I don't think that it sensible to use something else than utf8). +\item[\PrintKeyName{interwordspace}] Choice key, possible values are \PrintKeyName{true}/""\PrintKeyName{on} and \PrintKeyName{false}/\PrintKeyName{off}. The key activates/deactivates the insertion of space glyphs, see section~\ref{sec:spacechars}. \item[\PrintKeyName{log}] Choice key, possible values \PrintKeyName{none}, \PrintKeyName{v}, \PrintKeyName{vv}, \PrintKeyName{vvv}, \PrintKeyName{all}. Setups the log level. Changing the value affects currently mostly the luamode: \enquote{higher} values gives more messages in the log. The current levels and messages have been setup in a quite ad-hoc manner and will need improvement. +\item[\PrintKeyName{newattribute}] This key takes two arguments and declares an attribute. See \ref{sec:attributes}. +\item[\PrintKeyName{show-spaces}] Boolean.\marginnote{luamode} That's a debug option, it helps to see where space glyph will be inserted if \PrintKeyName{interwordspace} is activated. \item[\PrintKeyName{tabsorder}] Choice key, possible values are \PrintKeyName{row}, \PrintKeyName{column}, \PrintKeyName{structure}, \PrintKeyName{none}. This decides if a \verb+/Tabs+ value is written to the dictionary of the page objects. Not really needed for tagging itself, but one of the things you probably need for accessibility checks. So I added it. Currently the tabsorder is the same for all pages. Perhaps this should be changed \ldots. -\item[\PrintKeyName{tagunmarked}] Boolean,\marginnote{luamode} initially true. When this boolean is true, the lua code will try to mark everything that has not been marked yet as an artifact. The benefit is that one doesn't have to mark up every deco rule oneself. The danger is that it perhaps marks things that shouldn't be marked -- it hasn't been tested yet with complicated documents containing annotations etc. +\item[\PrintKeyName{tagunmarked}] Boolean,\marginnote{luamode} initially true. When this boolean is true, the lua code will try to mark everything that has not been marked yet as an artifact. The benefit is that one doesn't have to mark up every deco rule oneself. The danger is that it perhaps marks things that shouldn't be marked -- it hasn't been tested yet with complicated documents containing annotations etc. See also section~\ref{sec:lazy} for a discussion about automatic tagging. \item[\PrintKeyName{uncompress}] Equivalent to using \texttt{compresslevel=0}. + \end{description} \section{Tagging} @@ -206,7 +214,7 @@ stream endstream \end{lstlisting} -From this stream one can extract the characters and their placement on the page but not their semantic meaning (the first line is actually a section heading, the last the page number). And while in the example the order is correct there is actually no garanty that the stream contains the text in the order it should be read. +From this stream one can extract the characters and their placement on the page but not their semantic meaning (the first line is actually a section heading, the last the page number). And while in the example the order is correct there is actually no guaranty that the stream contains the text in the order it should be read. Tagging means to enrich the pdf with information about the \emph{semantic} meaning and the \emph{reading order}. (Tagging can do more, one can also store all sorts of layout information like font properties and indentation with tags. But as I already wrote this package concentrates on the part of tagging that is needed to improve accessibility.) @@ -216,7 +224,7 @@ Tagging means to enrich the pdf with information about the \emph{semantic} meani To tag a pdf three tasks must be carried out: \begin{enumerate} -\item \textbf{The mark-content-task}:\marginnote{mc-task} The document must add \enquote{labels} to the page stream which allows to identify and reference the various chunks of text and other content. This is the most difficult part of tagging -- both for the document writer but also for the package code. At first there can be quite many chunks as every one is a leaf node of the structure and so often a rather small unit. At second the chunks must be defined page-wise -- and this is not easy when you don't know where the page breaks are. At last some text is created automatically, e.g. the toc, references, citations, list numbers etc and it is not always easy to mark them correctly. +\item \textbf{The mark-content-task}:\marginnote{mc-task} The document must add \enquote{labels} to the page stream which allows to identify and reference the various chunks of text and other content. This is the most difficult part of tagging -- both for the document writer but also for the package code. At first there can be quite many chunks as every one is a leaf node of the structure and so often a rather small unit. At second the chunks must be defined page-wise -- and this is not easy when you don't know where the page breaks are. Also in a standard document a lot text is created automatically, e.g. the toc, references, citations, list numbers etc and it is not always easy to mark them correctly. \item \textbf{The structure-task}:\marginnote{struct-task} The document must declare the structure. This means marking the start and end of semantically connected portions of the document (correctly nested as a tree). This too means some work for the document writer, but less than for the mc-task: at first quite often the mc-task and the structure-task can be combined, e.g. when you mark up a list number or a tabular cell or a section header; at second one doesn't have to worry about page breaks so quite often one can patch standard environments to declare the structure. On the other side a number of structures end in \LaTeX\ only implicitly -- e.g. an item ends at the next item, so getting the pdf structure right still means that additional mark up must be added. @@ -336,10 +344,10 @@ This sounds easy. But there are quite a number of traps. \item The literals are inserted directly and not at shipout. This means that due to the asynchronous page breaking of \TeX\ the MCID-number can be wrong even if the counter is reset at every page (this package uses in generic mode a label-ref-system to get around this problem. This sadly means that three compilations are needed until everything has settled down). - \item There exist environments that process their content more than once -- examples are \texttt{align} and \texttt{tabularx}. + \item There exist environments which process their content more than once -- examples are \texttt{align} and \texttt{tabularx}. So one has to check for doublettes and holes in the counting system. - \item Pdf is a page oriented format. And this means that the start and the end marker must be on the same page \ldots\ \emph{so what to do with normal paragraphs that split over pages??}. This question will be handled in subsection~\ref{sec:splitpara}. + \item Pdf is a page oriented format. And this means that the start and the end marker must be on the same page \ldots\ \emph{so what to do with normal paragraphs that split over pages??}. This question will be discussed in subsection~\ref{sec:splitpara}. \end{enumerate} \subsubsection{Generic mode versus lua mode in the mc-task} @@ -352,7 +360,7 @@ This means that quite a number of problems mentioned above are not relevant for \item Pagebreaks between start and end of the marker are \emph{not} a problem. So you can mark a complete paragraph. If a pagebreak occur directly after an start marker or before an end marker this can lead to empty chunks in the pdf and so bloat up pdf a bit, but this is imho not really a problem (compared to the size increase by the rest of the tagging). \item The commands don't insert literals directly and so affect line and page breaking much less. \item The numbering of the MCID are done at shipout, so no label/ref system is needed. -\item The code can do some marking automatically. Currently everything that has not been marked up by the document is marked as artifact. This can probably be extended and improved. +\item The code can do some marking automatically. Currently everything that has not been marked up by the document is marked as artifact. \end{enumerate} \subsubsection{Commands to mark content and chunks} @@ -370,7 +378,7 @@ Such markers should not be nested. The command will warn you if this happens. The key-val list understands the following keys: \begin{description} - \item[\PrintKeyName{tag}] This is required, unless you use the \PrintKeyName{artifact} key. The value of the key is normally one of the standard type listed in section \ref{sec:new-tag}. It is possible to setup new tags, see the same section. The value of the key is expanded, so it can be a command. The expansion is passed unchanged to the pdf, so it should with a starting slash give a valid pdf name (some ascii with numbers like \texttt{H4} is fine). + \item[\PrintKeyName{tag}] This is required, unless you use the \PrintKeyName{artifact} key. The value of the key is normally one of the standard type listed in section \ref{sec:new-tag} (without a slash at the begin, this is added by the code). It is possible to setup new tags, see the same section. The value of the key is expanded, so it can be a command. The expansion is passed unchanged to the pdf, so it should with a starting slash give a valid pdf name (some ascii with numbers like \texttt{H4} is fine). \item[\PrintKeyName{artifact}] This will setup the marked content as an artifact. The key should be used for content that should be ignored. The key can take one of the values \PrintKeyName{pagination}, \PrintKeyName{layout}, \PrintKeyName{page}, \PrintKeyName{background} and \PrintKeyName{notype} (this is the default). Text in the header and footer should be marked with \PrintKeyName{artifact=pagination}. @@ -380,13 +388,13 @@ The key-val list understands the following keys: The\marginnote{lua mode only} lua mode will mark up everything unmarked as \texttt{artifact=notype}. You can suppress this behaviour by setting the tagpdfsetup key \texttt{tagunmarked} to false. See section \ref{ssec:setup}. - \item[\PrintKeyName{stash}] Normally marked content will be stored in the \enquote{current} structure. This may not be what you want. As an example you may perhaps want to put a marginnote behind or before the paragraph it is in the tex-code. With this boolean key the content is marked but not stored in the kid-key of the current structure. + \item[\PrintKeyName{stash}] Normally marked content will be stored in the \enquote{current} structure. This may not be what you want. As an example you may perhaps want to put a marginnote behind or before the paragraph it is in the tex-code. With this boolean key the content is marked but not stored in the kid-key of the current structure. \item[\PrintKeyName{label}] This key sets a label by which you can call the marked content later in another structure (if it has been stashed with the previous key). Internally the label name will start with \texttt{tagpdf-}. - \item[\PrintKeyName]{alttext}] This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded. + \item[\PrintKeyName{alttext}] This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded. - \item[\PrintKeyName]{alttext-o} This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName]{alttext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you do something like this: + \item[\PrintKeyName{alttext-o}] This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName{alttext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you can do something like this: \begin{lstlisting} \newcommand\myalttext{\frac{a}{b}} @@ -395,9 +403,9 @@ The key-val list understands the following keys: and it will insert \verb+\frac{a}{b}+ (hex encoded) in the pdf. - \item[\PrintKeyName]{actualtext}] This key inserts an \texttt{/ActualText} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded. + \item[\PrintKeyName{actualtext}] This key inserts an \texttt{/ActualText} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded. - \item[\PrintKeyName]{actualtext-o} This key inserts an \texttt{/ActualText} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName]{actualtext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you do something like this: + \item[\PrintKeyName{actualtext-o}] This key inserts an \texttt{/ActualText} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName{actualtext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you can do something like this: \begin{lstlisting} \newcommand\myactualtext{X} @@ -406,7 +414,7 @@ The key-val list understands the following keys: and it will insert \verb+X+ (hex encoded) in the pdf. - \item[\PrintKeyName{raw}] This key allows you to add more entries to the properties dictionary. The value must be correct, low-level pdf. E.g. \verb+raw=/Alt (Hello)+ will insert an alternative Text. (I will probably add keys for \texttt{/Alt} and \texttt{/Actualtext} later, but I haven't made up my mind regarding the encoding yes). + \item[\PrintKeyName{raw}] This key allows you to add more entries to the properties dictionary. The value must be correct, low-level pdf. E.g. \verb+raw=/Alt (Hello)+ will insert an alternative Text. \end{description} \ExplSyntaxOn @@ -537,9 +545,9 @@ The key-val list understands the following keys: \item[\PrintKeyName{tag}] This is required. The value of the key is normally one of the standard type listed in section \ref{sec:new-tag}. It is possible to setup new tags/types, see the same section. \item[\PrintKeyName{stash}] Normally a new structure inserts itself as a kid into the currently active structure. This key prohibits this. The structure is nevertheless from now on \enquote{the current active structure} and parent for following marked content and structures. \item[\PrintKeyName{label}] This key sets a label by which you can use the structure later in another structure. Internally the label name will start with \texttt{tagpdfstruct-}. - \item[\PrintKeyName{alttext}] This key inserts an \texttt{/Alt} value in the dictionary of structure object. See section~\ref{sec:alttext}. The value is handled as verbatim string and hex encoded. + \item[\PrintKeyName{alttext}] This key inserts an \texttt{/Alt} value in the dictionary of structure object, see section~\ref{sec:alttext}. The value is handled as verbatim string and hex encoded. - \item[\PrintKeyName{alttext-o}] This key inserts an \texttt{/Alt} value in the dictionary of structure object. See section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName]{alttext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you do something like this: + \item[\PrintKeyName{alttext-o}] This key inserts an \texttt{/Alt} value in the dictionary of a structure object, see section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName{alttext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you can do something like this: \begin{lstlisting} \newcommand\myalttext{\frac{a}{b}} @@ -548,9 +556,9 @@ The key-val list understands the following keys: and it will insert \verb+\frac{a}{b}+ (hex encoded) in the pdf. - \item[\PrintKeyName{actualtext}] This key inserts an \texttt{/ActualText} value in the dictionary of structure object. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded. + \item[\PrintKeyName{actualtext}] This key inserts an \texttt{/ActualText} value in the dictionary of structure object, see section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded. - \item[\PrintKeyName{actualtext-o}] This key inserts an \texttt{/ActualText} value in the dictionary of structure object. See section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName]{actualtext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you do something like this: + \item[\PrintKeyName{actualtext-o}] This key inserts an \texttt{/ActualText} value in the dictionary of structure object, see section~\ref{sec:alttext}. The value is handled as verbatim string like the key \PrintKeyName{actualtext} but expanded once (the \texttt{o} refers to the \texttt{o} type in expl3). That means that you can do something like this: \begin{lstlisting} \newcommand\myactualtext{X} @@ -558,11 +566,20 @@ The key-val list understands the following keys: \end{lstlisting} and it will insert \verb+X+ (hex encoded) in the pdf. + \item[\PrintKeyName{attribute}] This key takes as argument a comma list of attribute names (use braces to protect the commas from the external key-val parser) and allows to add one or more attribute dictionary entries in the structure object. As an example + \begin{lstlisting} + \tagstructbegin{tag=TH,attribute= TH-row} + \end{lstlisting}. See also section~\ref{sec:attributes}. + \item[\PrintKeyName{attribute-class}] This key takes as argument a comma list of attribute names (use braces to protect the commas from the external key-val parser) and allows to add one or more attribute classes to the structure object. As an example + \begin{lstlisting} + \tagstructbegin{tag=TH,attribute-class= TH-row} + \end{lstlisting}. See also section~\ref{sec:attributes}. + \item[\PrintKeyName{title}] This key allows to set the dictionary entry \texttt{/Title} in the structure object. The value is handled as verbatim string and hex encoded. Commands are not expanded. \item[\PrintKeyName{title-o}] This key allows to set the dictionary entry \texttt{/Title} in the structure object. The value is expanded once and then handled as verbatim string like the \PrintKeyName{title} key. - \end{description} +\end{description} \ExplSyntaxOn @@ -570,7 +587,7 @@ The key-val list understands the following keys: \DescribeMacro\uftag_struct_end: \ExplSyntaxOff -This ends a structure. They don't end a group and it doesn't matter if they are in another group as the starting commands. +These commands end a structure. They don't end a group and it doesn't matter if they are in another group as the starting commands. \ExplSyntaxOn \DescribeMacro\tagstructuse{