From 7994f86ec5e18f9d0d9f90161a2f26dd26d26af7 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 4 Jul 2021 03:01:24 +0000 Subject: CTAN sync 202107040301 --- macros/latex/contrib/easybook/easybook.dtx | 435 +- macros/latex/contrib/easybook/easybook.ins | 2 + macros/latex/contrib/easybook/easybook.pdf | Bin 556751 -> 559175 bytes macros/latex/contrib/semantex/README.md | 78 +- macros/latex/contrib/semantex/semantex.pdf | Bin 384087 -> 384087 bytes macros/latex/contrib/semantex/semantex.sty | 4 +- macros/latex/contrib/semantex/semantex.tex | 2 +- macros/latex/contrib/semantex/stripsemantex.lua | 620 +-- macros/latex/contrib/semantex/stripsemantex.sty | 2 +- macros/latex/contrib/tagpdf/README.md | 4 +- macros/latex/contrib/tagpdf/tagpdf-backend.dtx | 8 +- macros/latex/contrib/tagpdf/tagpdf-checks.dtx | 4 +- macros/latex/contrib/tagpdf/tagpdf-code.pdf | Bin 1082873 -> 1082745 bytes macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx | 17 +- macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx | 4 +- macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx | 10 +- macros/latex/contrib/tagpdf/tagpdf-roles.dtx | 4 +- macros/latex/contrib/tagpdf/tagpdf-space.dtx | 4 +- macros/latex/contrib/tagpdf/tagpdf-struct.dtx | 6 +- macros/latex/contrib/tagpdf/tagpdf-tree.dtx | 4 +- macros/latex/contrib/tagpdf/tagpdf-user.dtx | 4 +- macros/latex/contrib/tagpdf/tagpdf.dtx | 2 +- macros/latex/contrib/tagpdf/tagpdf.pdf | 4352 ++++++++++---------- macros/latex/contrib/tagpdf/tagpdf.tex | 9 +- macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty | 2 +- 25 files changed, 2816 insertions(+), 2761 deletions(-) (limited to 'macros/latex') diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 8d93f7f566..17f6663350 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -28,7 +28,7 @@ % % \title{\sffamily easybook 文档类手册} % \author{瞿毅} -% \date{2021/07/02\hskip\ccwd\relax v1.26p\thanks{\url{https://gitee.com/texl3/easybook}}} +% \date{2021/07/03\hskip\ccwd\relax v1.26q\thanks{\url{https://gitee.com/texl3/easybook}}} % % \maketitle % \begin{abstract} @@ -158,7 +158,7 @@ % floatpage = % \end{syntax} % 开启这个选项后浮动环境 \env{table} 和 \env{figure} 的比例参数会使用默认值,关闭它则尽可能避免出现浮动页,使图表环境与正文段落更加紧凑,减少多余的空白版面。 -% \changes{v1.26p}{2021/06/15}{增加浮动环境比例参数选项 \opt{floatpage}。} +% \changes{v1.26q}{2021/06/15}{增加浮动环境比例参数选项 \opt{floatpage}。} % \end{function} % % \subsection{article 模式} @@ -240,7 +240,7 @@ % \tn{EBeforeAddBitoc*}\marg{加入目录英文标题前的代码} % \end{syntax} % \tn{appendix} 命令后的章节标题变为附录形式。英文目录中附录标题的格式用可选参数修改,英文附录目录前名字默认为 Appendix\tn{space},后名字默认为空,名字之间用一个半角逗号分开,也可以只有一部分,表示英文附录目录前名字。英文附录目录数字输出命令默认为 \tn{Alph}\{chapter\}。 -% \changes{v1.26p}{2021/06/13}{增加调整英文目录格式的钩子 \tn{EBeforeAddBitoc}。} +% \changes{v1.26q}{2021/06/13}{增加调整英文目录格式的钩子 \tn{EBeforeAddBitoc}。} % \end{function} % % \tn{EBeforeAddBitoc} 是一个作用于局部范围的英文目录钩子,可以插入标题或目录设置的命令改变英文目录中标题的显示格式,也可以覆盖上述的目录前后名字和编号等设置,带有星号的命令会重置之前的代码,放置在导言区或 \tn{bichapter} 等命令前生效。 @@ -255,7 +255,7 @@ % \ \oarg{水平偏移}\parg{下标代码} % \end{syntax} % 上标和下标的功能来自 \pkg{spbmark} 宏包,\tn{super}、\tn{sub} 和 \tn{supersub} 三个命令可以用于输出上标和下标。它们根据当前处于文本模式还是数学模式来匹配相应的模式,或者可以使用它们的星号变体命令来强制使用数学模式。也可以使用键值列表对偏移量进行全局设置,详情见小节 \ref{subsubsec:super-sub-script}。 -% \changes{v1.26p}{2021/06/28}{增加可以调整相对位置和格式的上标和下标命令 \tn{super}、\tn{sub} 和 \tn{supersub}。} +% \changes{v1.26q}{2021/06/28}{增加可以调整相对位置和格式的上标和下标命令 \tn{super}、\tn{sub} 和 \tn{supersub}。} % \end{function} % % 垂直和水平偏移默认值都是 0 pt,\meta{对齐方式} 的参数与 \opt{supersubalign} 相同。\meta{格式代码} 用于格式化上标和下标,可以插入字体或颜色等命令。代码中的最后一个命令可以接受一个为上标或下标的参数。\tn{textsuperscript} 和 \tn{textsubscript} 命令已被重新定义并且分别等价于 \tn{super} 和 \tn{sub},如果您需要使用它们的原始定义创建新命令,则可以使用 \tn{spb@textsuperscript@save} 和 \tn{spb@textsubscript@save} 命令。 @@ -282,7 +282,7 @@ % % \subsection{风格} % \label{subsec:style} -% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-19]{color,color-all,multoc,withpart,footwith,rulewidth,uppercase,figurepath} +% \begin{function}[EXP,added = 2021-01-05,updated = 2021-07-03]{color,color-all,multoc,withpart,footwith,rulewidth,uppercase,figurepath} % \begin{syntax} % color = <(none)|seaside|energy|cyberpunk> % color-all = @@ -300,13 +300,13 @@ % \end{function} % % \begin{optdesc} -% \item[color] 主题颜色,包括标题、页眉颜色等,选项 \opt{none} 为黑白页面,但不包括超链接。 -% \begin{function}{ctex@frame,ctex@emph,ctex@verb} +% \item[color] 预置了四种主题颜色,默认主题 \opt{none} 为黑白页面,主题颜色不包括超链接。 +% \begin{function}{\DeclareThemeColor} % \begin{syntax} -% \tn{definecolor}\oarg{类型}\marg{名称}\marg{模式列表}\marg{参数列表} +% \tn{DeclareThemeColor}\{<风格名称>,,,\} % \end{syntax} -% 主题颜色用到这三个颜色,可以使用 \tn{definecolor} 命令进行更改,类似地更改超链接颜色见小节 \ref{subsec:hyperlinks}。 -% \changes{v1.10}{2021/01/08}{可以自定义主题颜色。} +% 可以使用 \tn{DeclareThemeColor} 命令声明新的主题颜色,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成主题颜色。类似地更改超链接颜色见小节 \ref{subsec:hyperlinks}。 +% \changes{v1.26q}{2021/07/03}{使用 \tn{DeclareThemeColor} 命令声明新的颜色风格。} % \end{function} % \item[color-all] 统一设置主题的各部分颜色,参数是 6 个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。 % \item[multoc] 开启多栏目录,与节 \ref{sec:document command} 中目录命令的同名选项有相同效果。 @@ -348,7 +348,7 @@ % % \subsection{超链接} % \label{subsec:hyperlinks} -% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-06]{linktype,linkcolor,linkcol-all,linktoc} +% \begin{function}[EXP,added = 2021-01-05,updated = 2021-07-03]{linktype,linkcolor,linkcol-all,linktoc} % \begin{syntax} % linktype = <(edge)|various|none> % linkcolor = @@ -364,14 +364,14 @@ % \end{function} % % \begin{optdesc} -% \item[linktype] \opt{edge} 使超链接为边框形式,\opt{various} 使超链接为彩色字体,有四种颜色风格。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。 +% \item[linktype] \opt{edge} 使超链接为边框形式,\opt{various} 使超链接变为彩色,预置了四种颜色样式。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。 % \item[linkcolor] 超链接颜色样式。 -% \begin{function}{ctex@link,ctex@url,ctex@cite} +% \begin{function}{\DeclareLinkColor} % \begin{syntax} -% \tn{definecolor}\oarg{类型}\marg{名称}\marg{模式列表}\marg{参数列表} +% \tn{DeclareLinkColor}\{<风格名称>,,,\} % \end{syntax} -% 超链接颜色用到这三个颜色,可以使用 \tn{definecolor} 命令进行更改。 -% \changes{v1.10}{2021/01/08}{可以自定义超链接颜色。} +% 可以使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色样式,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成超链接颜色。 +% \changes{v1.26q}{2021/07/03}{使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色。} % \end{function} % \item[linkcol-all] 统一设置超链接的各部分颜色,参数是 6 个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。 % \item[linktoc] 将目录中的超链接取消、置于标题上、置于页码上或置于标题和页码上。 @@ -492,7 +492,7 @@ % \end{syntax} % \ding{229} 以上选项路径为 \opt{thmset/...} % \changes{v1.21}{2021/01/12}{增加配置定理环境样式的选项。} -% \changes{v1.26p}{2021/07/01}{增加配置公式标签括号选项 \opt{brackets}。} +% \changes{v1.26q}{2021/07/01}{增加配置公式标签括号选项 \opt{brackets}。} % \end{function} % % \begin{optdesc} @@ -519,7 +519,7 @@ % 文档类已预置 8 个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令,由 \pkg{thmtools} 提供支持,用法与它的同名命令一致。 % \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。} % \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{EBNewTheorem}。} -% \changes{v1.26p}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。} +% \changes{v1.26q}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。} % \end{function} % % \begin{optdesc} @@ -625,7 +625,7 @@ % \tn{markrule}\oarg{长度|(\tn{textwidth})}\parg{颜色名}\marg{线宽|(0.75pt)}[<上间距>+<下间距>] % \end{syntax} % 命令 \tn{easyhead} 和 \tn{easyfoot} 的使用方法与 \tn{fancyhead} 和 \tn{fancyfoot} 完全相同,它们需要在 \opt{head-foot} 选项中使用,设置的是一个名为 \opt{fancy} 的页面风格。\pkg{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中E、O代表偶数、奇数,L、C、R代表左、中、右部分。单面打印时,含有偶数的选项无效。 -% \changes{v1.26p}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。} +% \changes{v1.26q}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。} % \end{function} % % 命令 \tn{markrule} 用于绘制页眉页脚横线,长度默认为页面文本区的宽度,上下间距为横线与上下方部件的间距,带有长度单位,间距长度之间用 + 号分开,若只有一部分则表示上间距,这个命令也可以在正文中绘制横线。下面举一个设置页眉内容的例子: @@ -827,29 +827,40 @@ % % \subsection{习题} % \label{subsec:exercise} -% \begin{function}[added = 2021-01-05,updated = 2021-06-06]{exercise} +% \begin{function}[added = 2021-01-05,updated = 2021-07-03]{exercise} % \begin{syntax} % \tn{begin}\marg{exercise}*+\oarg{键值列表}\parg{键值列表}\oarg{键值列表} % \ \tn{item} <习题内容> % \tn{end}\marg{exercise} % \end{syntax} -% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用 + 号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题,并使 \opt{color} 生效。第三个 \meta{键值列表} 的选项与小节 \ref{subsec:sort list} 排序列表相同,\opt{number} 的编号格式也是如此。第一个 \meta{键值列表} 中包含的选项如下: +% 习题环境 \env{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号参数时不进行编号,使用 + 号参数独立编号并启用 \pkg{tcolorbox} 支持生成标题,并使 \opt{color} 生效,此时计数器使用的值为 \tn{thetcbcounter}。第三个 \meta{键值列表} 的选项与小节 \ref{subsec:sort list} 排序列表相同,\opt{number} 的编号格式也是如此。第一个 \meta{键值列表} 中包含的选项如下: % \changes{v1.23}{2021/02/08}{增加准确的习题盒子标题目录锚点。} % \end{function} % -% \begin{function}{color,title,number,numsep} +% \begin{function}{color,title,number,numsep,label} % \begin{syntax} % color = <标题背景颜色名|(LightSkyBlue)> % title = <环境标题> % number = <习题编号格式|(1.)> % numsep = <编号与标题的间距|(0.5\tn{ccwd})> +% label = <标签内容> % \end{syntax} -% 第二个 \meta{键值列表} 在是否使用 + 号参数时用法不同,使用 + 号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用 + 号参数时相当于设置 \tn{ctexset}\{section = {\#1}\} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。另外还可以使用 \tn{exerprologue} 命令在习题环境开始前插入一段内容,可以是文本或者代码,需要在每一个习题环境前使用。 +% 第二个 \meta{键值列表} 在是否使用 + 号参数时用法不同,使用 + 号参数时为 \pkg{tcolorbox} 的盒子选项,例如 \opt{boxrule} 和 \opt{fontupper}。不使用 + 号参数时相当于设置 \tn{ctexset}\{section = {\#1}\} 键值选项列表,例如 \opt{format} 和 \opt{beforeskip}。\opt{label} 选项用于设置习题环境的引用标签,它与标签格式命令 \tn{labelformat} 对应的计数器是 eb@exercise。 +% \end{function} +% +% \begin{function}{\setexercise,\exerprologue,\tcphanifname} +% \begin{syntax} +% \tn{setexercise}\marg{键值列表} +% \tn{exerprologue}\marg{序言内容} +% \tn{tcphanifname}\marg{编号代码}\marg{不编号代码} +% \end{syntax} +% 可以通过 \tn{setexercise} 命令使用键值列表设置上述习题选项的默认值。\tn{exerprologue} 命令在习题环境开始前插入一段内容,可以是文本或者代码,需要在每一个习题环境前使用。\tn{tcphanifname} 命令根据使用 \pkg{tcolorbox} 生成的习题标题是否编号,在超链接锚点的位置加入代码。 % \end{function} % % \begin{ctexexam} +% \tcphanifname{\markright{\EBUseCounter{tcbcounter}{\quad 习题}}}{} % \exerprologue{习题前的一段文本} -% \begin{exercise}+[color = LightSkyBlue](after skip = 3.25ex)[itemsep = 1ex] +% \begin{exercise}+[color = LightSkyBlue](after skip = 3.75ex)[itemsep = 1ex] % \item 习题内容 % \item 习题内容 % \end{exercise} @@ -952,7 +963,7 @@ % \tn{EBUseCounter*}\oarg{父计数器}\parg{编号|(arabic)}\marg{计数器}\marg{内容}\oarg{分隔符|(.)}\parg{数值} % \end{syntax} % \tn{newcounter} 是 \LaTeX 自带的创建计数器命令,\tn{EBUseCounter} 将会以一定的格式使用由它创建的计数器,将会以 \tn{the}\meta{父计数器}\meta{分隔符}\tn{the}\meta{计数器}\meta{内容} 输出当前内容。 -% \changes{v1.26p}{2021/06/30}{增加计数器使用命令 \tn{EBUseCounter}。} +% \changes{v1.26q}{2021/06/30}{增加计数器使用命令 \tn{EBUseCounter}。} % \end{function} % % 需要注意的是 \tn{EBUseCounter} 仅具有 \textbf{输出功能},并不会改变计数器原有的绑定关系。默认每使用一次命令 \meta{计数器} 的值增加 1,带有星号的命令使 \meta{计数器} 保持当前值,\meta{编号} 为 arabic 和 alpha 等格式,\meta{数值} 可以手动将 \meta{计数器} 设为指定值。 @@ -1139,7 +1150,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2021/07/02}{1.26p} +\ProvidesExplClass{easybook}{2021/07/03}{1.26q} {Typeset Chinese books or notes} \bool_set_false:N \l__eb_compile_draft_bool @@ -1387,7 +1398,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{etoolbox} -\ProvidesExplPackage{easybase}{2021/07/02}{1.26p} +\ProvidesExplPackage{easybase}{2021/07/03}{1.26q} {Typeset Chinese books or notes} \cs_generate_variant:Nn \eb_ctex_define:nn { nx } @@ -1425,26 +1436,28 @@ \seq_map_inline:Nn \l__eb_env_hook_name_seq { \AtBeginEnvironment{##1}{#2} } } +\cs_new_protected:Npn \eb_match_package_name:n #1 + { + \tl_if_in:nnTF {#1} { [ } + { + \regex_split:nnNT { \[ } {#1} \l_tmpa_seq + { \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl } + \@ifpackageloaded{\l_tmpa_tl}{} + { + \exp_last_unbraced:Nx \RequirePackage + { [\seq_use:Nn \l_tmpa_seq { , } }{\l_tmpa_tl} + } + } + { \@ifpackageloaded{#1}{}{\RequirePackage{#1}} } + } \NewDocumentCommand{\eb@package@load}{O{}m} { \seq_set_split:Nnn \l__eb_package_name_seq { + } {#2} \int_compare:oNnT { \seq_count:N \l__eb_package_name_seq } = { 1 } { \PassOptionsToPackage{#1}{#2} } - \seq_map_inline:Nn \l__eb_package_name_seq - { - \regex_match:nnTF { [^\w] } {##1} - { - \regex_split:nnNT { \[ } {##1} \l_tmpa_seq - { \seq_pop_left:NN \l_tmpa_seq \l_tmpa_tl } - \@ifpackageloaded{\l_tmpa_tl}{} - { - \exp_last_unbraced:Nx \RequirePackage - { [\seq_use:Nn \l_tmpa_seq { , } }{\l_tmpa_tl} - } - } - { \@ifpackageloaded{##1}{}{\RequirePackage{##1}} } - } + \seq_map_function:NN + \l__eb_package_name_seq \eb_match_package_name:n } \cs_new_protected:Npn \eb_at_end_preamble:n { \BeforeBeginEnvironment{document} } @@ -2769,161 +2782,15 @@ title .tl_set:N = \eb@tc@exercise@title, title .initial:n = \c__eb_name_exercise_tl, numsep .dim_set:N = \eb@toc@exercise@numsep, - numsep .initial:n = 0.5\ccwd + numsep .initial:n = 0.5\ccwd, + label .tl_set:N = \eb@tc@exercise@label } +\cs_new_protected:Npn \setexercise #1 + { \keys_set:nn { eb/exercise } {#1} } \ctex_at_end_package:nn { tcolorbox } { \eb_package_later_bool:nn { tcolorbox } { 2020/10/09 } - \tcbset - { - tc-theorem/.style = - { - enhanced~jigsaw,pad~at~break* = 3pt, - opacityback = 0, - colframe = ctex@emph, - sharpish~corners, - left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt - }, - tc-outline/.style = - { - enhanced,nofloat, - tikznode~boxed~title, - interior~style = white,colframe = ctex@emph, - colbacktitle = white,coltitle = ctex@emph, - fonttitle = \large\sffamily,fontupper = \itshape, - boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt}, - attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2}, - after~skip = 3ex, - sharpish~corners, - left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc - }, - tc-exercise/.style = - { - blank,on~line,center, - sharpish~corners, - fontupper = \Large\sffamily, - before~skip = 3.75ex,after~skip = 2.5ex - }, - breakable, - boxsep = 0pt, - fonttitle = \sffamily, - boxrule = \l__eb_rule_width_dim - } - \newtcbox[auto~counter]{\eb@tc@exercise@box}[1]{tc-exercise,#1} - \tl_new:N \eb@tc@list@prologue - \cs_new:Npn \exerprologue #1 { \tl_gset:Nn \eb@tc@list@prologue {#1} } - \cs_new:Npn \eb_tcb_toc_counter_numsep:n #1 - { - \thetcbcounter - \hspace{\use:c { eb@toc@#1@numsep }} - } - \NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b} - { - \begin{tcolorbox}[tc-outline,title = #2,IfValueT = {#3}{#3}] - \begin{eb@outline@list}[#1] - #4 - \end{eb@outline@list} - \end{tcolorbox} - }{} - \NewDocumentEnvironment{exercise}{st+od()O{}+b} - { - \IfValueT{#3}{ \keys_set:nn { eb/exercise } {#3} } - \IfBooleanTF{#2} - { - \eb@tc@exercise@box - { - fuzzy~halo = 5pt~with~\eb@tc@background@color, - IfValueT = {#4}{#4}, - phantom = - \IfBooleanF{#1} - { - \markright - { - \eb_tcb_toc_counter_numsep:n { exercise } - \eb@tc@exercise@title - } - \addcontentsline{toc}{section} - { - \eb_tcb_toc_counter_numsep:n { section } - \eb@tc@exercise@title - } - } - }{ - \IfBooleanF{#1} - { - \eb_tcb_toc_counter_numsep:n { exercise } - \eb_current_label:n { tcbcounter } - } - \eb@tc@exercise@title - } - }{ - \group_begin: - \ctex_set:nn { section } { format += \centering } - \IfValueT{#4}{\ctex_set:nn { section } {#4}} - \IfBooleanTF{#1} - {\section*{\eb@tc@exercise@title}} - {\section{\eb@tc@exercise@title}} - \group_end: - } - \tl_if_empty:NF \eb@tc@list@prologue { \eb@tc@list@prologue } - \begin{enumerate}[\eb@tc@list@number,labelsep = 0.5\ccwd,#5] - #6 - \end{enumerate} - \tl_gclear:N \eb@tc@list@prologue - }{} - \DeclareTColorBox{easybox}{sO{Khaki}d()O{}} - { - enhanced~jigsaw,pad~at~break* = 3pt, - IfBooleanTF = {#1} - {toptitle = 8pt,top = 8pt} - {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt}, - IfValueT = {#3}{title = #3}, - colback = #2,colbacktitle = #2, - opacityback = 0.12,opacitybacktitle = 0.12, - coltitle = black,colframe = black, - sharpish~corners, - left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt, - bottomtitle = 8pt, - beforeafter~skip = 2ex, - halign~upper = left,halign~lower = left, - center~title,#4 - } - \DeclareTColorBox{ebparbox}{sO{DarkSlateBlue}d()O{}} - { - frame~hidden, - enhanced~jigsaw,pad~at~break* = 3pt, - boxrule = 0pt, - borderline~west = {3pt}{0pt}{#2}, - IfBooleanTF = {#1} - { - colback = white, - IfValueT = {#3}{title = #3}, - top = 0pt,bottom = 0pt,toptitle = 0pt - }{ - colback = #2,colbacktitle = #2, - opacityback = 0.12,opacitybacktitle = 0.12, - IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt}, - bottom = 8pt,toptitle = 8pt - }, - left = 8pt,right = 8pt,middle= 8pt, - sharpish~corners, - bottomtitle = 8pt, - beforeafter~skip = 1.5ex, - colframe = #2,coltitle = #2,#4 - } - \DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}} - { - nobeforeafter,tcbox~raise~base, - blank,fuzzy~halo = 2pt~with~#1,#3 - }{#2} - \DeclareTotalTCBox{\eblink}{O{Aqua}vO{}} - { - standard~jigsaw, - nobeforeafter,tcbox~raise~base, - top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt, - boxrule = 0.75pt,arc = 1pt, - colback = #1,opacityback = 0.12,colframe = #1,#3 - }{#2} + \file_if_exist_input:n { eb-tcolorbox.cfg } } \bool_set_true:N \l__eb_backend_bibtex_bool @@ -3109,6 +2976,10 @@ { \definecolorset{HTML}{ctex@}{}{link,#1;url,#1;cite,#1} } \cs_new_protected:Npn \eb_define_themecolor:n #1 { \definecolorset{HTML}{ctex@}{}{frame,#1;emph,#1;verb,#1} } +\cs_new_protected:Npn \DeclareLinkColor #1 + { \eb_ctex_define:nx { refset } { \eb_linkcolor_set:n {#1} } } +\cs_new_protected:Npn \DeclareThemeColor #1 + { \eb_ctex_define:nx { style } { \eb_themecolor_set:n {#1} } } \cs_new:Npn \eb_linkcolor_set:n #1 { linkcolor/\clist_item:nn {#1} { 1 } .code:n = @@ -3259,4 +3130,184 @@ \labelformat{subsection}{Subsection~#1} } % +%<*tcolorbox> +\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/03}{1.26q} + {Customization of tcolorbox for easybook} + +\cs_new_protected:Npn \eb_tcb_theorem_set:n #1 + { \tcbset{tc-theorem/.style = {#1}} } +\cs_new_protected:Npn \eb_tcb_outline_set:n #1 + { \tcbset{tc-outline/.style = {#1}} } +\cs_new_protected:Npn \eb_tcb_exercise_set:n #1 + { \tcbset{tc-exercise/.style = {#1}} } +\eb_tcb_theorem_set:n + { + enhanced~jigsaw,pad~at~break* = 3pt, + opacityback = 0, + colframe = ctex@emph, + sharpish~corners, + left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt + } +\eb_tcb_outline_set:n + { + enhanced,nofloat, + tikznode~boxed~title, + interior~style = white,colframe = ctex@emph, + colbacktitle = white,coltitle = ctex@emph, + fonttitle = \large\sffamily,fontupper = \itshape, + boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt}, + attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2}, + after~skip = 3ex,arc = 3pt, + left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc + } +\eb_tcb_exercise_set:n + { + blank,on~line,center, + sharpish~corners, + fontupper = \Large\sffamily, + before~skip = 3.75ex,after~skip = 3ex + } +\tcbset + { + breakable, + boxsep = 0pt, + fonttitle = \sffamily, + boxrule = \l__eb_rule_width_dim + } + +\newtcbox[auto~counter]{\eb@tc@exercise@box}[1]{tc-exercise,#1} +\tl_new:N \p@eb@exercise +\tl_new:N \eb@tc@list@prologue +\tl_set:Nn \eb@tc@exercise@ifnametrue + { + \markright + { + \eb_tcb_toc_counter_numsep:n { exercise } + \eb@tc@exercise@title + } + \addcontentsline{toc}{section} + { + \eb_tcb_toc_counter_numsep:n { section } + \eb@tc@exercise@title + } + } +\cs_new:Npn \exerprologue #1 { \tl_gset:Nn \eb@tc@list@prologue {#1} } +\cs_new:Npn \tcphanifname #1#2 + { + \tl_gset:Nn \eb@tc@exercise@ifnametrue {#1} + \tl_gset:Nn \eb@tc@exercise@ifnamefalse {#2} + } +\cs_set:Npn \eb_exercise_label_noempty_use: + { + \eb_current_label:n { eb@exercise } + \tl_if_empty:NF \eb@tc@exercise@label + { \exp_args:NV \label \eb@tc@exercise@label } + } +\cs_new:Npn \eb_tcb_toc_counter_numsep:n #1 + { + \thetcbcounter + \hspace{\use:c { eb@toc@#1@numsep }} + } + +\NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b} + { + \begin{tcolorbox}[tc-outline,title = #2,IfValueT = {#3}{#3}] + \begin{eb@outline@list}[#1] + #4 + \end{eb@outline@list} + \end{tcolorbox} + }{} +\NewDocumentEnvironment{exercise}{st+od()O{}+b} + { + \IfValueT{#3}{ \keys_set:nn { eb/exercise } {#3} } + \IfBooleanTF{#2} + { + \eb@tc@exercise@box + { + fuzzy~halo = 5pt~with~\eb@tc@background@color, + IfValueT = {#4}{#4}, + phantom = + \IfBooleanTF{#1} + {\eb@tc@exercise@ifnamefalse} + {\eb@tc@exercise@ifnametrue} + }{ + \IfBooleanF{#1} + { + \eb_tcb_toc_counter_numsep:n { exercise } + \tl_set_eq:NN \theeb@exercise \thetcbcounter + \eb_exercise_label_noempty_use: + } + \eb@tc@exercise@title + } + }{ + \group_begin: + \ctex_set:nn { section } { format += \centering } + \IfValueT{#4}{\ctex_set:nn { section } {#4}} + \IfBooleanTF{#1} + {\section*{\eb@tc@exercise@title}} + {\section{\eb@tc@exercise@title}} + \tl_set_eq:NN \theeb@exercise \thesection + \eb_exercise_label_noempty_use: + \group_end: + } + \tl_if_empty:NF \eb@tc@list@prologue { \eb@tc@list@prologue } + \begin{enumerate}[\eb@tc@list@number,labelsep = 0.5\ccwd,#5] + #6 + \end{enumerate} + \tl_gclear:N \eb@tc@list@prologue + }{} +\DeclareTColorBox{easybox}{sO{Khaki}d()O{}} + { + enhanced~jigsaw,pad~at~break* = 3pt, + IfBooleanTF = {#1} + {toptitle = 8pt,top = 8pt} + {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt}, + IfValueT = {#3}{title = #3}, + colback = #2,colbacktitle = #2, + opacityback = 0.12,opacitybacktitle = 0.12, + coltitle = black,colframe = black, + sharpish~corners, + left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt, + bottomtitle = 8pt, + beforeafter~skip = 2ex, + halign~upper = left,halign~lower = left, + center~title,#4 + } +\DeclareTColorBox{ebparbox}{sO{DarkSlateBlue}d()O{}} + { + frame~hidden, + enhanced~jigsaw,pad~at~break* = 3pt, + boxrule = 0pt, + borderline~west = {3pt}{0pt}{#2}, + IfBooleanTF = {#1} + { + colback = white, + IfValueT = {#3}{title = #3}, + top = 0pt,bottom = 0pt,toptitle = 0pt + }{ + colback = #2,colbacktitle = #2, + opacityback = 0.12,opacitybacktitle = 0.12, + IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt}, + bottom = 8pt,toptitle = 8pt + }, + left = 8pt,right = 8pt,middle= 8pt, + sharpish~corners, + bottomtitle = 8pt, + beforeafter~skip = 1.5ex, + colframe = #2,coltitle = #2,#4 + } +\DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}} + { + nobeforeafter,tcbox~raise~base, + blank,fuzzy~halo = 2pt~with~#1,#3 + }{#2} +\DeclareTotalTCBox{\eblink}{O{Aqua}vO{}} + { + standard~jigsaw, + nobeforeafter,tcbox~raise~base, + top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt, + boxrule = 0.75pt,arc = 1pt, + colback = #1,opacityback = 0.12,colframe = #1,#3 + }{#2} +% \endinput \ No newline at end of file diff --git a/macros/latex/contrib/easybook/easybook.ins b/macros/latex/contrib/easybook/easybook.ins index 484d0da0da..496edcba6c 100644 --- a/macros/latex/contrib/easybook/easybook.ins +++ b/macros/latex/contrib/easybook/easybook.ins @@ -24,6 +24,7 @@ The latest version of this license is in { \file{easybook.cls}{\from{\jobname.dtx}{class}} \file{easybase.sty}{\from{\jobname.dtx}{package}} + \file{eb-tcolorbox.cfg}{\from{\jobname.dtx}{tcolorbox}} } \obeyspaces @@ -34,6 +35,7 @@ The latest version of this license is in \Msg{* *} \Msg{* easybook.cls *} \Msg{* easybase.sty *} +\Msg{* eb-tcolorbox.cfg *} \Msg{* *} \Msg{* Happy TeXing! *} \Msg{* *} diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf index 43cbc4c930..94de411084 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/semantex/README.md b/macros/latex/contrib/semantex/README.md index 85732053e6..8c786f1d62 100644 --- a/macros/latex/contrib/semantex/README.md +++ b/macros/latex/contrib/semantex/README.md @@ -1,40 +1,40 @@ -SemanTeX -- semantic, keyval-based mathematics --------------------------------------- - -The SemanTeX package for LaTeX delivers a more semantic, -systematized way of writing mathematics, compared to the -classical math syntax in LaTeX. The system uses keyval -syntax, and the user can define their own keys and -customize the system down to the last detail. At the same -time, care has been taken to make the syntax as simple, -natural, practical, and lightweight as possible. - -Furthermore, the package has a companion package, -called stripsemantex, which allows you to completely strip -your documents of SemanTeX markup to prepare them e.g. for publication. - -The package is still in beta, but is considered feature-complete -and more or less stable, so using it at this point should be safe. -Still, suggestions, ideas, and bug reports are more than welcome! - ----------------------------------------------------------------- -SemanTeX -- semantic, keyval-based mathematics -Maintained by Sebastian Ørsted -E-mail: sorsted@gmail.com -Released under the LaTeX Project Public License v1.3c or later -See http://www.latex-project.org/lppl.txt ----------------------------------------------------------------- - -Copyright (C) 2021 by Sebastian Ørsted - -The package is loaded via \usepackage{semantex} - -This work may be distributed and/or modified under the -conditions of the LaTeX Project Public License (LPPL), either -version 1.3c of this license or (at your option) any later -version. The latest version of this license is in the file: - -http://www.latex-project.org/lppl.txt - -This work is "maintained" (as per LPPL maintenance status) by +SemanTeX -- semantic, keyval-based mathematics +-------------------------------------- + +The SemanTeX package for LaTeX delivers a more semantic, +systematized way of writing mathematics, compared to the +classical math syntax in LaTeX. The system uses keyval +syntax, and the user can define their own keys and +customize the system down to the last detail. At the same +time, care has been taken to make the syntax as simple, +natural, practical, and lightweight as possible. + +Furthermore, the package has a companion package, +called stripsemantex, which allows you to completely strip +your documents of SemanTeX markup to prepare them e.g. for publication. + +The package is still in beta, but is considered feature-complete +and more or less stable, so using it at this point should be safe. +Still, suggestions, ideas, and bug reports are more than welcome! + +---------------------------------------------------------------- +SemanTeX -- semantic, keyval-based mathematics +Maintained by Sebastian Ørsted +E-mail: sorsted@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +Copyright (C) 2021 by Sebastian Ørsted + +The package is loaded via \usepackage{semantex} + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by Sebastian Ørsted. \ No newline at end of file diff --git a/macros/latex/contrib/semantex/semantex.pdf b/macros/latex/contrib/semantex/semantex.pdf index 931f768258..c05e9af057 100644 Binary files a/macros/latex/contrib/semantex/semantex.pdf and b/macros/latex/contrib/semantex/semantex.pdf differ diff --git a/macros/latex/contrib/semantex/semantex.sty b/macros/latex/contrib/semantex/semantex.sty index a0aa239be3..a54891f132 100644 --- a/macros/latex/contrib/semantex/semantex.sty +++ b/macros/latex/contrib/semantex/semantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse,l3keys2e,leftindex,semtex} -\ProvidesExplPackage{semantex}{2021/07/02}{0.505}{} +\ProvidesExplPackage{semantex}{2021/07/03}{0.506}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -8177,7 +8177,7 @@ set~lower~slot={ {-} }, % Upper left indices: data~provide=upper~left, - int~provide=next~upper~left~with~sep, + data~provide=next~upper~left~with~sep, int~provide=number~of~upper~left~indices, data~provide=pre~upper~left, data~provide=post~upper~left, diff --git a/macros/latex/contrib/semantex/semantex.tex b/macros/latex/contrib/semantex/semantex.tex index 70ea73860a..fd1e6a67e8 100644 --- a/macros/latex/contrib/semantex/semantex.tex +++ b/macros/latex/contrib/semantex/semantex.tex @@ -42,7 +42,7 @@ \usepackage[nameinlink]{cleveref} -\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.505)} +\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.506)} \date{\today} \author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} diff --git a/macros/latex/contrib/semantex/stripsemantex.lua b/macros/latex/contrib/semantex/stripsemantex.lua index f50648dd23..0d624cc72d 100644 --- a/macros/latex/contrib/semantex/stripsemantex.lua +++ b/macros/latex/contrib/semantex/stripsemantex.lua @@ -1,311 +1,311 @@ --- aliases for protected environments -local assert, io_open - = assert, io.open - --- load the ltn12 module -local ltn12 = require("ltn12") - --- No more global accesses after this point -if _VERSION == "Lua 5.2" then _ENV = nil end - --- copy a file -copy_file = function(path_src, path_dst) - ltn12.pump.all( - ltn12.source.file(assert(io_open(path_src, "rb"))), - ltn12.sink.file(assert(io_open(path_dst, "wb"))) - ) -end - -openFile = function(file) - f = io.open(file, "r") - filecontent = f:read("*all") - local beginDocPosition = filecontent:find('\\begin{document}') - if not beginDocPosition then - tex.sprint( [[\begingroup\ExplSyntaxOn - \msg_fatal:nnn { stripsemantex } { begin_document_not_found } { ]] .. file .. [[ } - \endgroup]] ) - return - end - precontent = filecontent:sub(1,beginDocPosition-1) - content = filecontent:sub(beginDocPosition,-1) - f:close() -end - -closeFile = function(file) - f = io.open(file, "w") - f:write(precontent .. content) - f:close() -end - -removeStricttexFormatting = function(str) - -- We do this in case the package "stricttex" was used - str = str:gsub('numberZERO','0') - str = str:gsub('numberONE','1') - str = str:gsub('numberTWO','2') - str = str:gsub('numberTHREE','3') - str = str:gsub('numberFOUR','4') - str = str:gsub('numberFIVE','5') - str = str:gsub('numberSIX','6') - str = str:gsub('numberSEVEN','7') - str = str:gsub('numberEIGHT','8') - str = str:gsub('numberNINE','9') - str = str:gsub('symbolPRIME','\'') - return str -end - -addIDsToRegisters = function(str) - str = removeStricttexFormatting(str) - content = content:gsub('\\' .. str .. '([^%a])' ,'\\SemantexIDcommand{}\\' .. str .. '%1') - -- '%f[^%a]' does not work here, as it will not react if the last character of str is a number, - -- which stricttex allows. - -- Because of this choice, there will be an issue if you use stricttex and let - -- \ by a SemanTeX command and \' be a non-SemanTeX command. - -- So simply *don't do that*. -end - -removeSuperfluousIDs = function() - local p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') - while p do - content = content:gsub('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)','%1%2') - p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') - end - content = content:gsub('parent(%s*)=(%s*)\\SemantexIDcommand{}','parent%1=%2') - content = content:gsub('class(%s*)=(%s*)\\SemantexIDcommand{}','class%1=%2') - content = content:gsub('clone(%s*)=(%s*)\\SemantexIDcommand{}','clone%1=%2') - content = content:gsub('copy(%s*)=(%s*)\\SemantexIDcommand{}','copy%1=%2') - content = content:gsub('\\New(%w+)Class(%s*{?)\\SemantexIDcommand{}','\\New%1Class%2') - content = content:gsub('\\NewObject(%s*{?%s*)\\SemantexIDcommand{}(\\%w+%s*}?%s*{?%s*)\\SemantexIDcommand{}', '\\NewObject%1%2') - content = content:gsub('\\SetupClass(%s*{?%s*)\\SemantexIDcommand{}', '\\SetupClass%1') - content = content:gsub('\\SetupObject(%s*{?%s*)\\SemantexIDcommand{}', '\\SetupObject%1') -end - -addNumbersToIDs = function() - local n = 0 - local p,q = string.find(content,'\\SemantexIDcommand{}') - while q do - n = n + 1 - content = content:sub(1,q-1) .. n .. content:sub(q,-1) - p, q = string.find(content,'\\SemantexIDcommand{}') - end -end - -semantexIDluacommand = function(id, source, output) - local p, q = string.find(content, '\\SemantexIDcommand{' .. id .. '}') - - while p do - content = content:sub(1,p-1) .. content:sub(q+1,-1) - - source = source:gsub('%s+', '') - - -- We do this in case the package "stricttex" was used - source = removeStricttexFormatting(source) - - -- This is because #1's in the code becomes ##1 - -- in the .semtex file. - source = source:gsub('#(%d)', '%1') - - local length = source:len() - - local i = 1 - - local s - - while i <= length do - s = content:sub(p,p) - if s == source:sub(i,i) then - content = content:sub(1 , p-1) .. content:sub(p+1, -1) - i = i + 1 - elseif s:match('%s') then - content = content:sub(1, p-1) .. content:sub(p+1, -1) - elseif s == '%' then - content = content:sub(1 , p-1) .. content:sub(p,-1):gsub('%%.-\n','',1) - elseif s == '{' then - -- In this case, we remove the corresponding right brace, - -- once we find it - local netto = 1 -- The current brace group level - local q = 0 -- The position we have moved forward so far - while netto > 0 do - q = q + 1 - local e = content:sub(p+q,p+q) - if e == '}' then - netto = netto - 1 - elseif e == '{' then - netto = netto + 1 - elseif e == '\\' then - q = q + 1 - elseif e == '%' then - content = content:sub(1, p+q-1) .. content:sub(p+q,-1):gsub('%%.-\n','',1) - q = q - 1 - end - end - content = content:sub(1,p-1) .. content:sub(p+1,p+q-1) .. content:sub(p+q+1,-1) - elseif s == '<' and content:sub(p+1,p+2) == '[>' then - content = content:sub(1,p-1) .. content:sub(p+3,-1) - i = i + 1 - elseif s == '<' and content:sub(p+1,p+2) == ']>' then - content = content:sub(1,p-1) .. content:sub(p+3,-1) - i = i + 1 - elseif source:sub(i,i) == '{' then - -- In this case, we remove the corresponding right brace, - -- once we find it - local netto = 1 -- The current brace group level - local q = 0 -- The position we have moved forward so far - while netto > 0 do - q = q + 1 - local e = source:sub(i+q,i+q) - if e == '}' then - netto = netto - 1 - elseif e == '{' then - netto = netto + 1 - elseif e == '\\' then - q = q + 1 - -- there is no chance that the source contains an unescaped %, so we do not - -- check for this - end - end - source = source:sub(1,i-1) .. source:sub(i+1,i+q-1) .. source:sub(i+q+1,-1) - length = source:len() - else - tex.sprint( [[\begingroup\ExplSyntaxOn - \msg_fatal:nnnn { stripsemantex } { source_not_expected } { ]] .. source:sub(i,i) .. [[ } { ]] .. s .. [[ } - \endgroup]] ) - break - end - end - - - output = output:gsub('%s*\\sp {', '^{') - output = output:gsub('%s*\\sb {', '_{') - output = output:gsub('\\mathopen \\big ', '\\bigl') - output = output:gsub('\\mathclose \\big ', '\\bigr') - output = output:gsub('\\mathopen \\Big ', '\\Bigl') - output = output:gsub('\\mathclose \\Big ', '\\Bigr') - output = output:gsub('\\mathopen \\bigg ', '\\biggl') - output = output:gsub('\\mathclose \\bigg ', '\\biggr') - output = output:gsub('\\mathopen \\Bigg ', '\\Biggl') - output = output:gsub('\\mathclose \\Bigg ', '\\Biggr') - output = output:gsub('\\mathopen %(', '(') - output = output:gsub('\\mathclose %)', ')') - output = output:gsub('\\mathopen %[', '[') - output = output:gsub('\\mathclose %]', ']') - output = output:gsub('\\mathopen \\{', '\\{') - output = output:gsub('\\mathclose \\}', '\\}') - output = output:gsub('\\mathopen \\lbrace', '\\lbrace') - output = output:gsub('\\mathclose \\rbrace', '\\rbrace') - output = output:gsub('\\mathopen \\lbrack', '\\lbrack') - output = output:gsub('\\mathclose \\rbrack', '\\rbrack') - output = output:gsub('\\mathopen \\langle', '\\langle') - output = output:gsub('\\mathclose \\rangle', '\\rangle') - output = output:gsub('\\mathopen \\lvert', '\\lvert') - output = output:gsub('\\mathclose \\rvert', '\\rvert') - output = output:gsub('\\mathopen \\vert', '\\lvert') - output = output:gsub('\\mathclose \\vert', '\\rvert') - output = output:gsub('\\mathopen \\lVert', '\\lVert') - output = output:gsub('\\mathclose \\rVert', '\\rVert') - output = output:gsub('\\mathopen \\Vert', '\\lVert') - output = output:gsub('\\mathclose \\Vert', '\\rVert') - output = output:gsub('%^{\\prime }', '\'') - output = output:gsub('%^{\\prime \\prime }', '\'\'') - output = output:gsub('%^{\\prime \\prime \\prime }', '\'\'\'') - output = output:gsub('%^{\\prime \\prime \\prime \\prime }', '\'\'\'\'') - output = output:gsub('%^{\\prime \\prime \\prime \\prime \\prime }', '\'\'\'\'\'') - - output = output:gsub('%s+%f[{}%[%]%(%)%$,]','') - output = output:gsub('([}%]%)])%f[\\%w%+%-%(%[=]', '%1 ') - output = output:gsub(',',', ') - output = output:gsub('%s+$', '') - - - -- We now check whether the string we add will follow right - -- after a control sequence, causing it to be interpreted - -- as part of that control sequence. - -- Because we want to allow the user to use stricttex, we - -- check for alphanumerical control sequences rather than - -- just alphabetic ones. This could add spaces that - -- the user might not have intended, but it's a minor issue. - if output:sub(1,1):match('%w') and content:sub(1, p-1):match('\\%w+$') then - content = content:sub(1,p-1) .. ' ' .. output .. content:sub(p,-1) - else - content = content:sub(1,p-1) .. output .. content:sub(p,-1) - end - p, q = string.find(content, '\\SemantexIDcommand{' .. id .. '}') - end -end - -stripRemainingSemantexIDs = function() - content = content:gsub('\\SemantexIDcommand{%d+}', '') -end - -removeParenthesisCommands = function() - content = content:gsub('\\SemantexMathOpen \\bigg%s?', '\\biggl') - content = content:gsub('\\SemantexMathClose \\bigg%s?', '\\biggr') - content = content:gsub('\\SemantexMathOpen \\Bigg%s?', '\\Biggl') - content = content:gsub('\\SemantexMathClose \\Bigg%s?', '\\Biggr') - content = content:gsub('\\SemantexMathOpen \\big%s?', '\\bigl') - content = content:gsub('\\SemantexMathClose \\big%s?', '\\bigr') - content = content:gsub('\\SemantexMathOpen \\Big%s?', '\\Bigl') - content = content:gsub('\\SemantexMathClose \\Big%s?', '\\Bigr') - content = content:gsub('\\SemantexMathOpen{} %(', '(') - content = content:gsub('%s*\\SemantexMathClose{}%)', ')') - content = content:gsub('\\SemantexMathOpen{} %[', '[') - content = content:gsub('%s*\\SemantexMathClose{}%]', ']') - content = content:gsub('\\SemantexMathOpen{} \\{', '\\{') - content = content:gsub('%s*\\SemantexMathClose{} \\}', '\\}') - content = content:gsub('\\SemantexMathOpen{} \\lbrace', '\\lbrace') - content = content:gsub('\\SemantexMathClose{} \\rbrace', '\\rbrace') - content = content:gsub('\\SemantexMathOpen{} \\lbrack', '\\rbrack') - content = content:gsub('\\SemantexMathClose{} \\rbrack', '\\rbrack') - content = content:gsub('\\SemantexMathOpen{} \\langle', '\\langle') - content = content:gsub('\\SemantexMathClose{} \\rangle', '\\rangle') - content = content:gsub('\\SemantexMathOpen{} \\lvert', '\\lvert') - content = content:gsub('\\SemantexMathClose{} \\rvert', '\\rvert') - content = content:gsub('\\SemantexMathOpen{} \\vert', '\\lvert') - content = content:gsub('\\SemantexMathClose{} \\vert', '\\rvert') - content = content:gsub('\\SemantexMathOpen{} \\lVert', '\\lVert') - content = content:gsub('\\SemantexMathClose{} \\rVert', '\\rVert') - content = content:gsub('\\SemantexMathOpen{} \\Vert', '\\lVert') - content = content:gsub('\\SemantexMathClose{} \\Vert', '\\rVert') - content = content:gsub('\\SemantexMathOpen{} .%s?', '') - content = content:gsub('\\SemantexMathClose{} .%s?', '') - content = content:gsub('\\SemantexMathOpen{}', '\\mathopen ') - content = content:gsub('\\SemantexMathClose{}', '\\mathclose ') - content = content:gsub('\\SemantexMathOpenAuto%s?', '\\SemantexLeft') - content = content:gsub('\\SemantexMathCloseAuto%s?', '\\SemantexRight') - content = content:gsub('\\SemantexMathOpenNoPar%s?', '') - content = content:gsub('\\SemantexMathCloseNoPar%s?', '') - content = content:gsub('\\SemantexMathOpen%s?', '\\mathopen') - content = content:gsub('\\SemantexMathClose%s?', '\\mathclose') -end - -stripComments = function() - content = content:gsub('\\%%', '\\StripSemantexEscapedPercent') - content = content:gsub('(\\%w+)%%.-\n%s*', '%1 ') - content = content:gsub('%%.-\n%s*', '') - content = content:gsub('\\StripSemantexEscapedPercent', '\\%%') -end - -addSemtexPackageToFile = function() - content = [[% The following was added by "stripsemantex": - -\usepackage{semtex,leftindex,graphicx} - -\providecommand\SemantexLeft{% - \mathopen{}\mathclose\bgroup\left -} - -\providecommand\SemantexRight{% - \aftergroup\egroup\right -} - -\makeatletter -\DeclareRobustCommand\SemantexBullet{% - \mathord{\mathpalette\SemantexBullet@{0.5}}% -} -\newcommand\SemantexBullet@[2]{% - \vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}% -} -\DeclareRobustCommand\SemantexDoubleBullet{\SemantexBullet \SemantexBullet} -\makeatother - -]] .. content +-- aliases for protected environments +local assert, io_open + = assert, io.open + +-- load the ltn12 module +local ltn12 = require("ltn12") + +-- No more global accesses after this point +if _VERSION == "Lua 5.2" then _ENV = nil end + +-- copy a file +copy_file = function(path_src, path_dst) + ltn12.pump.all( + ltn12.source.file(assert(io_open(path_src, "rb"))), + ltn12.sink.file(assert(io_open(path_dst, "wb"))) + ) +end + +openFile = function(file) + f = io.open(file, "r") + filecontent = f:read("*all") + local beginDocPosition = filecontent:find('\\begin{document}') + if not beginDocPosition then + tex.sprint( [[\begingroup\ExplSyntaxOn + \msg_fatal:nnn { stripsemantex } { begin_document_not_found } { ]] .. file .. [[ } + \endgroup]] ) + return + end + precontent = filecontent:sub(1,beginDocPosition-1) + content = filecontent:sub(beginDocPosition,-1) + f:close() +end + +closeFile = function(file) + f = io.open(file, "w") + f:write(precontent .. content) + f:close() +end + +removeStricttexFormatting = function(str) + -- We do this in case the package "stricttex" was used + str = str:gsub('numberZERO','0') + str = str:gsub('numberONE','1') + str = str:gsub('numberTWO','2') + str = str:gsub('numberTHREE','3') + str = str:gsub('numberFOUR','4') + str = str:gsub('numberFIVE','5') + str = str:gsub('numberSIX','6') + str = str:gsub('numberSEVEN','7') + str = str:gsub('numberEIGHT','8') + str = str:gsub('numberNINE','9') + str = str:gsub('symbolPRIME','\'') + return str +end + +addIDsToRegisters = function(str) + str = removeStricttexFormatting(str) + content = content:gsub('\\' .. str .. '([^%a])' ,'\\SemantexIDcommand{}\\' .. str .. '%1') + -- '%f[^%a]' does not work here, as it will not react if the last character of str is a number, + -- which stricttex allows. + -- Because of this choice, there will be an issue if you use stricttex and let + -- \ by a SemanTeX command and \' be a non-SemanTeX command. + -- So simply *don't do that*. +end + +removeSuperfluousIDs = function() + local p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') + while p do + content = content:gsub('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)','%1%2') + p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') + end + content = content:gsub('parent(%s*)=(%s*)\\SemantexIDcommand{}','parent%1=%2') + content = content:gsub('class(%s*)=(%s*)\\SemantexIDcommand{}','class%1=%2') + content = content:gsub('clone(%s*)=(%s*)\\SemantexIDcommand{}','clone%1=%2') + content = content:gsub('copy(%s*)=(%s*)\\SemantexIDcommand{}','copy%1=%2') + content = content:gsub('\\New(%w+)Class(%s*{?)\\SemantexIDcommand{}','\\New%1Class%2') + content = content:gsub('\\NewObject(%s*{?%s*)\\SemantexIDcommand{}(\\%w+%s*}?%s*{?%s*)\\SemantexIDcommand{}', '\\NewObject%1%2') + content = content:gsub('\\SetupClass(%s*{?%s*)\\SemantexIDcommand{}', '\\SetupClass%1') + content = content:gsub('\\SetupObject(%s*{?%s*)\\SemantexIDcommand{}', '\\SetupObject%1') +end + +addNumbersToIDs = function() + local n = 0 + local p,q = string.find(content,'\\SemantexIDcommand{}') + while q do + n = n + 1 + content = content:sub(1,q-1) .. n .. content:sub(q,-1) + p, q = string.find(content,'\\SemantexIDcommand{}') + end +end + +semantexIDluacommand = function(id, source, output) + local p, q = string.find(content, '\\SemantexIDcommand{' .. id .. '}') + + while p do + content = content:sub(1,p-1) .. content:sub(q+1,-1) + + source = source:gsub('%s+', '') + + -- We do this in case the package "stricttex" was used + source = removeStricttexFormatting(source) + + -- This is because #1's in the code becomes ##1 + -- in the .semtex file. + source = source:gsub('#(%d)', '%1') + + local length = source:len() + + local i = 1 + + local s + + while i <= length do + s = content:sub(p,p) + if s == source:sub(i,i) then + content = content:sub(1 , p-1) .. content:sub(p+1, -1) + i = i + 1 + elseif s:match('%s') then + content = content:sub(1, p-1) .. content:sub(p+1, -1) + elseif s == '%' then + content = content:sub(1 , p-1) .. content:sub(p,-1):gsub('%%.-\n','',1) + elseif s == '{' then + -- In this case, we remove the corresponding right brace, + -- once we find it + local netto = 1 -- The current brace group level + local q = 0 -- The position we have moved forward so far + while netto > 0 do + q = q + 1 + local e = content:sub(p+q,p+q) + if e == '}' then + netto = netto - 1 + elseif e == '{' then + netto = netto + 1 + elseif e == '\\' then + q = q + 1 + elseif e == '%' then + content = content:sub(1, p+q-1) .. content:sub(p+q,-1):gsub('%%.-\n','',1) + q = q - 1 + end + end + content = content:sub(1,p-1) .. content:sub(p+1,p+q-1) .. content:sub(p+q+1,-1) + elseif s == '<' and content:sub(p+1,p+2) == '[>' then + content = content:sub(1,p-1) .. content:sub(p+3,-1) + i = i + 1 + elseif s == '<' and content:sub(p+1,p+2) == ']>' then + content = content:sub(1,p-1) .. content:sub(p+3,-1) + i = i + 1 + elseif source:sub(i,i) == '{' then + -- In this case, we remove the corresponding right brace, + -- once we find it + local netto = 1 -- The current brace group level + local q = 0 -- The position we have moved forward so far + while netto > 0 do + q = q + 1 + local e = source:sub(i+q,i+q) + if e == '}' then + netto = netto - 1 + elseif e == '{' then + netto = netto + 1 + elseif e == '\\' then + q = q + 1 + -- there is no chance that the source contains an unescaped %, so we do not + -- check for this + end + end + source = source:sub(1,i-1) .. source:sub(i+1,i+q-1) .. source:sub(i+q+1,-1) + length = source:len() + else + tex.sprint( [[\begingroup\ExplSyntaxOn + \msg_fatal:nnnn { stripsemantex } { source_not_expected } { ]] .. source:sub(i,i) .. [[ } { ]] .. s .. [[ } + \endgroup]] ) + break + end + end + + + output = output:gsub('%s*\\sp {', '^{') + output = output:gsub('%s*\\sb {', '_{') + output = output:gsub('\\mathopen \\big ', '\\bigl') + output = output:gsub('\\mathclose \\big ', '\\bigr') + output = output:gsub('\\mathopen \\Big ', '\\Bigl') + output = output:gsub('\\mathclose \\Big ', '\\Bigr') + output = output:gsub('\\mathopen \\bigg ', '\\biggl') + output = output:gsub('\\mathclose \\bigg ', '\\biggr') + output = output:gsub('\\mathopen \\Bigg ', '\\Biggl') + output = output:gsub('\\mathclose \\Bigg ', '\\Biggr') + output = output:gsub('\\mathopen %(', '(') + output = output:gsub('\\mathclose %)', ')') + output = output:gsub('\\mathopen %[', '[') + output = output:gsub('\\mathclose %]', ']') + output = output:gsub('\\mathopen \\{', '\\{') + output = output:gsub('\\mathclose \\}', '\\}') + output = output:gsub('\\mathopen \\lbrace', '\\lbrace') + output = output:gsub('\\mathclose \\rbrace', '\\rbrace') + output = output:gsub('\\mathopen \\lbrack', '\\lbrack') + output = output:gsub('\\mathclose \\rbrack', '\\rbrack') + output = output:gsub('\\mathopen \\langle', '\\langle') + output = output:gsub('\\mathclose \\rangle', '\\rangle') + output = output:gsub('\\mathopen \\lvert', '\\lvert') + output = output:gsub('\\mathclose \\rvert', '\\rvert') + output = output:gsub('\\mathopen \\vert', '\\lvert') + output = output:gsub('\\mathclose \\vert', '\\rvert') + output = output:gsub('\\mathopen \\lVert', '\\lVert') + output = output:gsub('\\mathclose \\rVert', '\\rVert') + output = output:gsub('\\mathopen \\Vert', '\\lVert') + output = output:gsub('\\mathclose \\Vert', '\\rVert') + output = output:gsub('%^{\\prime }', '\'') + output = output:gsub('%^{\\prime \\prime }', '\'\'') + output = output:gsub('%^{\\prime \\prime \\prime }', '\'\'\'') + output = output:gsub('%^{\\prime \\prime \\prime \\prime }', '\'\'\'\'') + output = output:gsub('%^{\\prime \\prime \\prime \\prime \\prime }', '\'\'\'\'\'') + + output = output:gsub('%s+%f[{}%[%]%(%)%$,]','') + output = output:gsub('([}%]%)])%f[\\%w%+%-%(%[=]', '%1 ') + output = output:gsub(',',', ') + output = output:gsub('%s+$', '') + + + -- We now check whether the string we add will follow right + -- after a control sequence, causing it to be interpreted + -- as part of that control sequence. + -- Because we want to allow the user to use stricttex, we + -- check for alphanumerical control sequences rather than + -- just alphabetic ones. This could add spaces that + -- the user might not have intended, but it's a minor issue. + if output:sub(1,1):match('%w') and content:sub(1, p-1):match('\\%w+$') then + content = content:sub(1,p-1) .. ' ' .. output .. content:sub(p,-1) + else + content = content:sub(1,p-1) .. output .. content:sub(p,-1) + end + p, q = string.find(content, '\\SemantexIDcommand{' .. id .. '}') + end +end + +stripRemainingSemantexIDs = function() + content = content:gsub('\\SemantexIDcommand{%d+}', '') +end + +removeParenthesisCommands = function() + content = content:gsub('\\SemantexMathOpen \\bigg%s?', '\\biggl') + content = content:gsub('\\SemantexMathClose \\bigg%s?', '\\biggr') + content = content:gsub('\\SemantexMathOpen \\Bigg%s?', '\\Biggl') + content = content:gsub('\\SemantexMathClose \\Bigg%s?', '\\Biggr') + content = content:gsub('\\SemantexMathOpen \\big%s?', '\\bigl') + content = content:gsub('\\SemantexMathClose \\big%s?', '\\bigr') + content = content:gsub('\\SemantexMathOpen \\Big%s?', '\\Bigl') + content = content:gsub('\\SemantexMathClose \\Big%s?', '\\Bigr') + content = content:gsub('\\SemantexMathOpen{} %(', '(') + content = content:gsub('%s*\\SemantexMathClose{}%)', ')') + content = content:gsub('\\SemantexMathOpen{} %[', '[') + content = content:gsub('%s*\\SemantexMathClose{}%]', ']') + content = content:gsub('\\SemantexMathOpen{} \\{', '\\{') + content = content:gsub('%s*\\SemantexMathClose{} \\}', '\\}') + content = content:gsub('\\SemantexMathOpen{} \\lbrace', '\\lbrace') + content = content:gsub('\\SemantexMathClose{} \\rbrace', '\\rbrace') + content = content:gsub('\\SemantexMathOpen{} \\lbrack', '\\rbrack') + content = content:gsub('\\SemantexMathClose{} \\rbrack', '\\rbrack') + content = content:gsub('\\SemantexMathOpen{} \\langle', '\\langle') + content = content:gsub('\\SemantexMathClose{} \\rangle', '\\rangle') + content = content:gsub('\\SemantexMathOpen{} \\lvert', '\\lvert') + content = content:gsub('\\SemantexMathClose{} \\rvert', '\\rvert') + content = content:gsub('\\SemantexMathOpen{} \\vert', '\\lvert') + content = content:gsub('\\SemantexMathClose{} \\vert', '\\rvert') + content = content:gsub('\\SemantexMathOpen{} \\lVert', '\\lVert') + content = content:gsub('\\SemantexMathClose{} \\rVert', '\\rVert') + content = content:gsub('\\SemantexMathOpen{} \\Vert', '\\lVert') + content = content:gsub('\\SemantexMathClose{} \\Vert', '\\rVert') + content = content:gsub('\\SemantexMathOpen{} .%s?', '') + content = content:gsub('\\SemantexMathClose{} .%s?', '') + content = content:gsub('\\SemantexMathOpen{}', '\\mathopen ') + content = content:gsub('\\SemantexMathClose{}', '\\mathclose ') + content = content:gsub('\\SemantexMathOpenAuto%s?', '\\SemantexLeft') + content = content:gsub('\\SemantexMathCloseAuto%s?', '\\SemantexRight') + content = content:gsub('\\SemantexMathOpenNoPar%s?', '') + content = content:gsub('\\SemantexMathCloseNoPar%s?', '') + content = content:gsub('\\SemantexMathOpen%s?', '\\mathopen') + content = content:gsub('\\SemantexMathClose%s?', '\\mathclose') +end + +stripComments = function() + content = content:gsub('\\%%', '\\StripSemantexEscapedPercent') + content = content:gsub('(\\%w+)%%.-\n%s*', '%1 ') + content = content:gsub('%%.-\n%s*', '') + content = content:gsub('\\StripSemantexEscapedPercent', '\\%%') +end + +addSemtexPackageToFile = function() + content = [[% The following was added by "stripsemantex": + +\usepackage{semtex,leftindex,graphicx} + +\providecommand\SemantexLeft{% + \mathopen{}\mathclose\bgroup\left +} + +\providecommand\SemantexRight{% + \aftergroup\egroup\right +} + +\makeatletter +\DeclareRobustCommand\SemantexBullet{% + \mathord{\mathpalette\SemantexBullet@{0.5}}% +} +\newcommand\SemantexBullet@[2]{% + \vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}% +} +\DeclareRobustCommand\SemantexDoubleBullet{\SemantexBullet \SemantexBullet} +\makeatother + +]] .. content end \ No newline at end of file diff --git a/macros/latex/contrib/semantex/stripsemantex.sty b/macros/latex/contrib/semantex/stripsemantex.sty index b9565f0a42..d50c14c6e3 100644 --- a/macros/latex/contrib/semantex/stripsemantex.sty +++ b/macros/latex/contrib/semantex/stripsemantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse} -\ProvidesExplPackage{stripsemantex}{2021/07/02}{0.505}{} +\ProvidesExplPackage{stripsemantex}{2021/07/03}{0.506}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md index d814f51167..488a7d9d18 100644 --- a/macros/latex/contrib/tagpdf/README.md +++ b/macros/latex/contrib/tagpdf/README.md @@ -1,6 +1,6 @@ #tagpdf — A package to create tagged pdf -Packageversion: 0.9 -Packagedate: 2021/06/29 +Packageversion: 0.91 +Packagedate: 2021/07/03 Author: Ulrike Fischer ## License diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx index f643e3dbde..6f92a5fc09 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx @@ -51,13 +51,13 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*luatex> -\ProvidesExplFile {tagpdf-luatex.def} {2021-06-29} {0.9} +\ProvidesExplFile {tagpdf-luatex.def} {2021-07-03} {0.91} {tagpdf~driver~for~luatex} % \end{macrocode} % \section{Loading the lua} @@ -161,8 +161,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.9", --TAGVERSION - date = "2021-06-29", --TAGDATE + version = "0.91", --TAGVERSION + date = "2021-07-03", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } diff --git a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx index e0a1c013d7..7ae61bb808 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx @@ -52,7 +52,7 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{documentation} % \section{Commands} @@ -239,7 +239,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-checks-code} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-checks-code} {2021-07-03} {0.91} {part of tagpdf - code related to checks, conditionals, debugging and messages} % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf index c092bb8316..181292b176 100644 Binary files a/macros/latex/contrib/tagpdf/tagpdf-code.pdf and b/macros/latex/contrib/tagpdf/tagpdf-code.pdf differ diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx index 956e3e91cb..6c617e00ff 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx @@ -50,31 +50,26 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{implementation} % \section{Marked content code -- generic mode} % \begin{macrocode} %<@@=tag> %<*generic> -\ProvidesExplPackage {tagpdf-mc-code-generic} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2021-07-03} {0.91} {part of tagpdf - code related to marking chunks - generic mode} % % \end{macrocode} -% \subsection{Variables} -% \begin{variable}{\g_@@_in_mc_bool} -% This booleans records if a mc is open, to test nesting. -% \begin{macrocode} -%<*generic> -\bool_new:N \g_@@_in_mc_bool -% \end{macrocode} -% \end{variable} - +% +%\subsection{Variables} +% % \begin{variable}{\g_@@_MCID_byabspage_prop} % This property will hold the current maximum on a page % it will contain key-value of type \meta{abspagenum}=\meta{max mcid} % % \begin{macrocode} +%<*generic> \@@_prop_new:N \g_@@_MCID_byabspage_prop % \end{macrocode} % \end{variable} diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx index aae817c9eb..7fff1672ea 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx @@ -50,7 +50,7 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{implementation} @@ -91,7 +91,7 @@ % \begin{macrocode} %<@@=tag> %<*luamode> -\ProvidesExplPackage {tagpdf-mc-code-lua} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2021-07-03} {0.91} {tagpdf - mc code only for the luamode } % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx index 12680109a0..13f0310589 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx @@ -50,7 +50,7 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -178,7 +178,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-mc-code-shared} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-mc-code-shared} {2021-07-03} {0.91} {part of tagpdf - code related to marking chunks - code shared by generic and luamode } % @@ -216,6 +216,12 @@ % \end{macrocode} % \end{variable} % +% \begin{variable}{\g_@@_in_mc_bool} +% This booleans records if a mc is open, to test nesting. +% \begin{macrocode} +\bool_new:N \g_@@_in_mc_bool +% \end{macrocode} +% \end{variable} % \begin{variable}{\g_@@_mc_parenttree_prop} % For every chunk we need to know the structure it is in, to % record this in the parent tree. We store this in a property.\\ diff --git a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx index f8a11bc464..5cc18b0b0f 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx @@ -50,13 +50,13 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-roles-code} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-roles-code} {2021-07-03} {0.91} {part of tagpdf - code related to roles and structure names} % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-space.dtx b/macros/latex/contrib/tagpdf/tagpdf-space.dtx index 9ccee62c6f..ea84729718 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-space.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-space.dtx @@ -50,13 +50,13 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-space-code} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-space-code} {2021-07-03} {0.91} {part of tagpdf - code related to real space chars} % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx index 4c342f921c..3d2dace5d7 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx @@ -50,7 +50,7 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -211,7 +211,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-struct-code} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-struct-code} {2021-07-03} {0.91} {part of tagpdf - code related to storing structure} % % \end{macrocode} @@ -1059,7 +1059,7 @@ % \section{Attributes and attribute classes} % \begin{macrocode} %<*header> -\ProvidesExplPackage {tagpdf-attr-code} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-attr-code} {2021-07-03} {0.91} {part of tagpdf - code related to attributes and attribute classes} % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx index 6a1d3e9562..1f9c12fb35 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx @@ -51,13 +51,13 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-tree-code} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-tree-code} {2021-07-03} {0.91} {part of tagpdf - code related to writing trees and dictionaries to the pdf} % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx index cbc6b79c33..4b408a60ea 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-user.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-user.dtx @@ -50,7 +50,7 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 0.91, released 2021-07-03} % \maketitle % \begin{documentation} % \section{Setup commands} @@ -201,7 +201,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-user} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf-user} {2021-07-03} {0.91} {tagpdf - user commands} % % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx index 6b79f8e7aa..2cb6e3d063 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf.dtx @@ -29,7 +29,7 @@ % \begin{macrocode} %<@@=tag> %<*package> -\ProvidesExplPackage {tagpdf} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdf} {2021-07-03} {0.91} { A package to experiment with pdf tagging } \bool_if:nF diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf index 26472f80ba..df23d1ffa6 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.pdf +++ b/macros/latex/contrib/tagpdf/tagpdf.pdf @@ -64,7 +64,7 @@ endobj << /Type/OBJR/Obj 192 0 R >> endobj 198 0 obj -<< /Length 30677 >> +<< /Length 30683 >> stream /opacity1 gs /Artifact BMC @@ -109,7 +109,7 @@ EMC 1.0 0.0 0.0 rg 1.0 0.0 0.0 RG BT /F65 5.97758 Tf -1 0 0 1 168.595 756.938 Tm [<00520067>]TJ +1 0 0 1 162.912 756.938 Tm [<00520067>]TJ 0 g 0 G ET EMC @@ -120,18 +120,18 @@ EMC /P<> BDC BT /F65 20.66252 Tf -1 0 0 1 174.076 756.938 Tm [<0068003F00320067>]TJ +1 0 0 1 168.394 756.938 Tm [<0068003F00320067>]TJ /F66 20.66252 Tf -1 0 0 1 218.955 756.938 Tm [<0069001C003B0054002F00370067>]TJ +1 0 0 1 213.273 756.938 Tm [<0069001C003B0054002F00370067>]TJ /F65 20.66252 Tf -1 0 0 1 291.625 756.938 Tm [<0054001C002B0046001C003B0032002D0067007000790058004E>]TJ +1 0 0 1 285.943 756.938 Tm [<0054001C002B0046001C003B0032002D0067007000790058004E0052>]TJ ET EMC /Artifact BMC 1.0 0.0 0.0 rg 1.0 0.0 0.0 RG BT /F65 5.97758 Tf -1 0 0 1 421.2 756.938 Tm [<00670052>]TJ +1 0 0 1 426.882 756.938 Tm [<00670052>]TJ 0 g 0 G ET EMC @@ -190,7 +190,7 @@ EMC /P<> BDC BT /F65 14.3462 Tf -1 0 0 1 260.811 663.015 Tm [<006B0079006B00520040007900650040006B004E>]TJ +1 0 0 1 260.811 663.015 Tm [<006B0079006B005200400079006400400079006A>]TJ ET EMC /Artifact BMC @@ -43005,7 +43005,7 @@ endobj << /ExtGState 1 0 R/ColorSpace 2 0 R /Font << /F66 202 0 R /F71 205 0 R /F68 203 0 R /F65 201 0 R /F69 204 0 R >> >> endobj 1964 0 obj -<< /Type /Metadata /Subtype /XML /Length 44412 >> +<< /Type /Metadata /Subtype /XML /Length 44413 >> stream @@ -43204,12 +43204,12 @@ stream application/pdf - The tagpdf package, v0.9 + The tagpdf package, v0.91 - 2021-06-29T20:56:16+02:00 + 2021-07-03T16:42:39+02:00 @@ -43222,13 +43222,13 @@ stream en-UK - 2021-06-29T20:56:16+02:00 - 2021-06-29T20:56:16+02:00 - 2021-06-29T20:56:16+02:00 + 2021-07-03T16:42:39+02:00 + 2021-07-03T16:42:39+02:00 + 2021-07-03T16:42:39+02:00 LaTeX with hyperref 1 uuid:9bbb626c-4c95-4fd1-975f-2b1390a33ea8 - uuid:00a8d7a8-d7fd-4133-a413-e4c9b1395413 + uuid:139059b6-2054-467a-aa82-67fd7a8dcea3 three 37 @@ -44292,7 +44292,7 @@ endobj << /Title [/H1 11 0 R] /Strong [/Span 11 0 R] >> endobj 15 0 obj -<< /Type /Namespace /NS (data:,4FF1D952-2EAE-CF0E-1D06-DD09DB5304E3) /RoleMapNS 16 0 R >> +<< /Type /Namespace /NS (data:,FA993023-6D-C2C7-4E44-26E9C7A7C4F9) /RoleMapNS 16 0 R >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R ] @@ -49226,2198 +49226,2198 @@ endobj << /Type /Catalog /Pages 2167 0 R /Outlines 2168 0 R /Names 2183 0 R /MarkInfo 1965 0 R/ViewerPreferences 1966 0 R/Lang (en-UK)/PageMode /UseOutlines/OpenAction [17 0 R /Fit]/PageLabels <>]>>/StructTreeRoot 5 0 R/Metadata 1964 0 R >> endobj 2185 0 obj -<< /Creator /Title /Author /Producer (LuaTeX-1.13.2) /CreationDate (D:20210629205616+02'00') /ModDate (D:20210629205616+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)) >> +<< /Creator /Title /Author /Producer (LuaTeX-1.13.2) /CreationDate (D:20210703164239+02'00') /ModDate (D:20210703164239+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)) >> endobj xref 0 2186 0000000003 65535 f -0002697366 00000 n -0002697488 00000 n +0002697372 00000 n +0002697494 00000 n 0000000004 00000 f 0000000010 00000 f -0002925365 00000 n -0002770064 00000 n -0002780803 00000 n -0002781217 00000 n -0002780825 00000 n +0002925370 00000 n +0002770071 00000 n +0002780810 00000 n +0002781222 00000 n +0002780832 00000 n 0000000012 00000 f -0002780893 00000 n +0002780900 00000 n 0000000014 00000 f -0002780963 00000 n +0002780970 00000 n 0000000000 00000 f -0002781110 00000 n -0002781044 00000 n -0000031706 00000 n -0002781264 00000 n -0002783086 00000 n -0002783261 00000 n -0002783371 00000 n -0002783478 00000 n -0002783585 00000 n -0002783692 00000 n -0002783817 00000 n -0002783924 00000 n -0002784031 00000 n -0002784138 00000 n -0002784245 00000 n -0002784353 00000 n -0002784461 00000 n -0002784544 00000 n -0000032031 00000 n +0002781117 00000 n +0002781051 00000 n +0000031712 00000 n +0002781269 00000 n +0002783091 00000 n +0002783266 00000 n +0002783376 00000 n +0002783483 00000 n +0002783590 00000 n +0002783697 00000 n +0002783822 00000 n +0002783929 00000 n +0002784036 00000 n +0002784143 00000 n +0002784250 00000 n +0002784358 00000 n +0002784466 00000 n +0002784549 00000 n +0000032037 00000 n 0000000020 00000 n -0002784664 00000 n -0002784761 00000 n -0002785228 00000 n -0002785310 00000 n -0002785401 00000 n -0000032281 00000 n -0002785535 00000 n -0002785645 00000 n +0002784669 00000 n +0002784766 00000 n +0002785233 00000 n +0002785315 00000 n +0002785406 00000 n +0000032287 00000 n +0002785540 00000 n +0002785650 00000 n 0000000064 00000 n -0002785753 00000 n -0002785868 00000 n -0002785950 00000 n -0002786041 00000 n -0000032488 00000 n -0002786175 00000 n -0002786285 00000 n +0002785758 00000 n +0002785873 00000 n +0002785955 00000 n +0002786046 00000 n +0000032494 00000 n +0002786180 00000 n +0002786290 00000 n 0000000108 00000 n -0002786393 00000 n -0002786508 00000 n -0002786590 00000 n -0002786681 00000 n -0000032695 00000 n -0002786815 00000 n -0002786925 00000 n +0002786398 00000 n +0002786513 00000 n +0002786595 00000 n +0002786686 00000 n +0000032701 00000 n +0002786820 00000 n +0002786930 00000 n 0000000152 00000 n -0002787033 00000 n -0002787148 00000 n -0002787230 00000 n -0002787321 00000 n -0000032902 00000 n -0002787455 00000 n -0002787565 00000 n +0002787038 00000 n +0002787153 00000 n +0002787235 00000 n +0002787326 00000 n +0000032908 00000 n +0002787460 00000 n +0002787570 00000 n 0000000196 00000 n -0002787673 00000 n -0002787788 00000 n -0002787870 00000 n -0002787961 00000 n -0000033113 00000 n -0002788095 00000 n -0002788205 00000 n +0002787678 00000 n +0002787793 00000 n +0002787875 00000 n +0002787966 00000 n +0000033119 00000 n +0002788100 00000 n +0002788210 00000 n 0000000240 00000 n -0002788313 00000 n -0002788428 00000 n -0002788510 00000 n -0002788601 00000 n -0000033324 00000 n -0002788735 00000 n -0002788845 00000 n +0002788318 00000 n +0002788433 00000 n +0002788515 00000 n +0002788606 00000 n +0000033330 00000 n +0002788740 00000 n +0002788850 00000 n 0000000284 00000 n -0002788953 00000 n -0002789068 00000 n -0002789150 00000 n -0002789241 00000 n -0000033536 00000 n -0002789375 00000 n -0002789485 00000 n +0002788958 00000 n +0002789073 00000 n +0002789155 00000 n +0002789246 00000 n +0000033542 00000 n +0002789380 00000 n +0002789490 00000 n 0000000328 00000 n -0002789593 00000 n -0002789708 00000 n -0002789790 00000 n -0002789882 00000 n -0000033748 00000 n -0002790016 00000 n -0002790126 00000 n +0002789598 00000 n +0002789713 00000 n +0002789795 00000 n +0002789887 00000 n +0000033754 00000 n +0002790021 00000 n +0002790131 00000 n 0000000372 00000 n -0002790234 00000 n -0002790350 00000 n -0002790434 00000 n -0002790529 00000 n -0000033959 00000 n -0002790668 00000 n -0002790780 00000 n +0002790239 00000 n +0002790355 00000 n +0002790439 00000 n +0002790534 00000 n +0000033965 00000 n +0002790673 00000 n +0002790785 00000 n 0000000416 00000 n -0002790890 00000 n -0002791007 00000 n -0002791091 00000 n -0002791186 00000 n -0000034172 00000 n -0002791325 00000 n -0002791437 00000 n +0002790895 00000 n +0002791012 00000 n +0002791096 00000 n +0002791191 00000 n +0000034178 00000 n +0002791330 00000 n +0002791442 00000 n 0000000462 00000 n -0002791547 00000 n -0002791664 00000 n -0002791748 00000 n -0002791843 00000 n -0000034385 00000 n -0002791982 00000 n -0002792094 00000 n +0002791552 00000 n +0002791669 00000 n +0002791753 00000 n +0002791848 00000 n +0000034391 00000 n +0002791987 00000 n +0002792099 00000 n 0000000508 00000 n -0002792204 00000 n -0002792321 00000 n -0002792405 00000 n -0002792500 00000 n -0000034598 00000 n -0002792639 00000 n -0002792751 00000 n +0002792209 00000 n +0002792326 00000 n +0002792410 00000 n +0002792505 00000 n +0000034604 00000 n +0002792644 00000 n +0002792756 00000 n 0000000554 00000 n -0002792861 00000 n -0002792978 00000 n -0002793062 00000 n -0002793157 00000 n -0000034811 00000 n -0002793296 00000 n -0002793408 00000 n +0002792866 00000 n +0002792983 00000 n +0002793067 00000 n +0002793162 00000 n +0000034817 00000 n +0002793301 00000 n +0002793413 00000 n 0000000600 00000 n -0002793518 00000 n -0002793635 00000 n -0002793719 00000 n -0002793814 00000 n -0000035025 00000 n -0002793953 00000 n -0002794065 00000 n +0002793523 00000 n +0002793640 00000 n +0002793724 00000 n +0002793819 00000 n +0000035031 00000 n +0002793958 00000 n +0002794070 00000 n 0000000646 00000 n -0002794175 00000 n -0002794292 00000 n -0002794376 00000 n -0002794471 00000 n -0000035239 00000 n -0002794610 00000 n -0002794722 00000 n +0002794180 00000 n +0002794297 00000 n +0002794381 00000 n +0002794476 00000 n +0000035245 00000 n +0002794615 00000 n +0002794727 00000 n 0000000692 00000 n -0002794832 00000 n -0002794949 00000 n -0002795033 00000 n -0002795128 00000 n -0000035453 00000 n -0002795267 00000 n -0002795379 00000 n +0002794837 00000 n +0002794954 00000 n +0002795038 00000 n +0002795133 00000 n +0000035459 00000 n +0002795272 00000 n +0002795384 00000 n 0000000738 00000 n -0002795489 00000 n -0002795606 00000 n -0002795690 00000 n -0002795785 00000 n -0000035667 00000 n -0002795924 00000 n -0002796036 00000 n +0002795494 00000 n +0002795611 00000 n +0002795695 00000 n +0002795790 00000 n +0000035673 00000 n +0002795929 00000 n +0002796041 00000 n 0000000784 00000 n -0002796146 00000 n -0002796263 00000 n -0002796347 00000 n -0002796442 00000 n -0000035880 00000 n -0002796581 00000 n -0002796693 00000 n +0002796151 00000 n +0002796268 00000 n +0002796352 00000 n +0002796447 00000 n +0000035886 00000 n +0002796586 00000 n +0002796698 00000 n 0000000830 00000 n -0002796803 00000 n -0002796920 00000 n -0002797004 00000 n -0002797099 00000 n -0000073256 00000 n -0002797238 00000 n -0002797350 00000 n +0002796808 00000 n +0002796925 00000 n +0002797009 00000 n +0002797104 00000 n +0000073262 00000 n +0002797243 00000 n +0002797355 00000 n 0000000876 00000 n -0002797460 00000 n -0002797577 00000 n -0002797661 00000 n -0002797756 00000 n -0000073464 00000 n -0002797895 00000 n -0002798007 00000 n +0002797465 00000 n +0002797582 00000 n +0002797666 00000 n +0002797761 00000 n +0000073470 00000 n +0002797900 00000 n +0002798012 00000 n 0000000922 00000 n -0002798117 00000 n -0000036280 00000 n +0002798122 00000 n +0000036286 00000 n 0000000968 00000 n -0000036094 00000 n -0000036156 00000 n -0003002721 00000 n -0002991982 00000 n -0002984042 00000 n -0002970266 00000 n -0002960290 00000 n -0000036218 00000 n -0003003078 00000 n -0000031867 00000 n -0000080156 00000 n -0000124475 00000 n -0000124538 00000 n -0000165446 00000 n -0000165509 00000 n -0000206055 00000 n -0000206118 00000 n -0000235834 00000 n -0000235897 00000 n -0000235960 00000 n -0000236023 00000 n -0000236086 00000 n -0000266119 00000 n -0000266182 00000 n -0000266245 00000 n -0000266308 00000 n -0000311328 00000 n -0000311391 00000 n -0002798234 00000 n -0002798318 00000 n -0002798413 00000 n -0000073677 00000 n -0002798552 00000 n -0002798664 00000 n -0000036414 00000 n -0002798775 00000 n -0002798893 00000 n -0002798977 00000 n -0002799072 00000 n -0000073889 00000 n -0002799212 00000 n -0002799325 00000 n -0000036460 00000 n -0002799436 00000 n -0002799554 00000 n -0002799638 00000 n -0002799733 00000 n -0000074097 00000 n -0002799873 00000 n -0002799986 00000 n -0000036506 00000 n -0002800097 00000 n -0002800215 00000 n -0002800299 00000 n -0002800394 00000 n -0000074309 00000 n -0002800534 00000 n -0002800647 00000 n -0000036552 00000 n -0002800758 00000 n -0002800876 00000 n -0002800960 00000 n -0002801055 00000 n -0000074522 00000 n -0002801195 00000 n -0002801308 00000 n -0000036598 00000 n -0002801419 00000 n -0002801537 00000 n -0002801621 00000 n -0002801716 00000 n -0000074739 00000 n -0002801856 00000 n -0002801969 00000 n -0000036644 00000 n -0002802080 00000 n -0002802198 00000 n -0002802282 00000 n -0002802377 00000 n -0000074957 00000 n -0002802517 00000 n -0002802630 00000 n -0000036690 00000 n -0002802741 00000 n -0002802859 00000 n -0002802943 00000 n -0002803038 00000 n -0000075176 00000 n -0002803178 00000 n -0002803291 00000 n -0000036736 00000 n -0002803402 00000 n -0002803520 00000 n -0002803604 00000 n -0002803699 00000 n -0000075395 00000 n -0002803839 00000 n -0002803952 00000 n -0000036782 00000 n -0002804063 00000 n -0002804181 00000 n -0002804265 00000 n -0002804360 00000 n -0000075614 00000 n -0002804500 00000 n -0002804613 00000 n -0000036828 00000 n -0002804724 00000 n -0002804842 00000 n -0002804926 00000 n -0002805021 00000 n -0000075833 00000 n -0002805161 00000 n -0002805274 00000 n -0000036874 00000 n -0002805385 00000 n -0002805503 00000 n -0002805587 00000 n -0002805682 00000 n -0000076052 00000 n -0002805822 00000 n -0002805935 00000 n -0000036920 00000 n -0002806046 00000 n -0002806164 00000 n -0002806248 00000 n -0002806343 00000 n -0000076271 00000 n -0002806483 00000 n -0002806596 00000 n -0000036966 00000 n -0002806707 00000 n -0002806825 00000 n -0002806909 00000 n -0002807004 00000 n -0000076484 00000 n -0002807144 00000 n -0002807257 00000 n -0000037012 00000 n -0002807368 00000 n -0002807486 00000 n -0002807570 00000 n -0002807665 00000 n -0000076702 00000 n -0002807805 00000 n -0002807918 00000 n -0000037058 00000 n -0002808029 00000 n -0002808147 00000 n -0002808231 00000 n -0002808326 00000 n -0000076921 00000 n -0002808466 00000 n -0002808579 00000 n -0000037104 00000 n -0002808690 00000 n -0002808808 00000 n -0002808892 00000 n -0002808987 00000 n -0000077140 00000 n -0002809127 00000 n -0002809240 00000 n -0000037150 00000 n -0002809351 00000 n -0002809469 00000 n -0002809553 00000 n -0002809648 00000 n -0000077359 00000 n -0002809788 00000 n -0002809901 00000 n -0000037196 00000 n -0002810012 00000 n -0002810130 00000 n -0002810214 00000 n -0002810309 00000 n -0000077576 00000 n -0002810449 00000 n -0002810562 00000 n -0000037242 00000 n -0002810673 00000 n -0002810791 00000 n -0002810875 00000 n -0002810970 00000 n -0000077789 00000 n -0002811110 00000 n -0002811223 00000 n -0000037288 00000 n -0002811334 00000 n -0002811452 00000 n -0002811536 00000 n -0002811631 00000 n -0000078002 00000 n -0002811771 00000 n -0002811884 00000 n -0000037334 00000 n -0002811995 00000 n -0002812113 00000 n -0002812197 00000 n -0002812292 00000 n -0000078215 00000 n -0002812432 00000 n -0002812545 00000 n -0000037380 00000 n -0002812656 00000 n -0002812774 00000 n -0002812858 00000 n -0002812953 00000 n -0000078426 00000 n -0002813093 00000 n -0002813206 00000 n -0000037426 00000 n -0002813317 00000 n -0002813435 00000 n -0002813519 00000 n -0002813614 00000 n -0000078634 00000 n -0002813755 00000 n -0002813869 00000 n -0000037472 00000 n -0002813981 00000 n -0002814100 00000 n -0002814184 00000 n -0002814279 00000 n -0000078841 00000 n -0002814420 00000 n -0002814534 00000 n -0000037518 00000 n -0002814646 00000 n -0002814765 00000 n -0002814849 00000 n -0002814944 00000 n -0000079049 00000 n -0002815085 00000 n -0002815199 00000 n -0000037564 00000 n -0002815311 00000 n -0002815430 00000 n -0002815514 00000 n -0002815609 00000 n -0000079257 00000 n -0002815750 00000 n -0002815864 00000 n -0000037610 00000 n -0002815976 00000 n -0002816095 00000 n -0002816179 00000 n -0002816274 00000 n -0000079466 00000 n -0002816415 00000 n -0002816529 00000 n -0000037656 00000 n -0002816641 00000 n -0002816760 00000 n -0002816844 00000 n -0002816939 00000 n -0000079675 00000 n -0002817072 00000 n -0000037702 00000 n -0002817184 00000 n -0002817303 00000 n -0002817387 00000 n -0002817482 00000 n -0000079885 00000 n -0002817623 00000 n -0002817737 00000 n -0000037748 00000 n -0002817849 00000 n -0002817968 00000 n -0002818108 00000 n -0002818219 00000 n -0000080219 00000 n -0000072817 00000 n -0000037794 00000 n -0000080093 00000 n -0000072979 00000 n -0001560316 00000 n -0001597039 00000 n -0001597102 00000 n -0001632802 00000 n -0001681248 00000 n -0001681500 00000 n -0001794493 00000 n -0001840015 00000 n -0001919035 00000 n -0002088729 00000 n -0002123110 00000 n -0002194313 00000 n -0002194767 00000 n -0002228225 00000 n -0002228419 00000 n -0002228481 00000 n -0002258465 00000 n -0002259438 00000 n -0002338676 00000 n -0002367949 00000 n -0002368985 00000 n -0002385611 00000 n -0002417239 00000 n -0002417303 00000 n -0002455892 00000 n -0002455956 00000 n -0002549700 00000 n -0002549829 00000 n -0002587384 00000 n -0002606834 00000 n -0002655738 00000 n -0002655867 00000 n -0002818328 00000 n -0002818464 00000 n -0002818584 00000 n -0000123850 00000 n -0000080314 00000 n -0002818707 00000 n -0002818816 00000 n -0002818925 00000 n -0002819061 00000 n -0002819170 00000 n -0002819280 00000 n -0002819428 00000 n -0002819538 00000 n -0000124601 00000 n -0000123651 00000 n -0000080360 00000 n -0000124412 00000 n -0000124131 00000 n -0000123813 00000 n -0002819685 00000 n -0002819794 00000 n -0002819949 00000 n -0000165132 00000 n -0000124722 00000 n -0002820072 00000 n -0002820181 00000 n -0002820317 00000 n -0002820426 00000 n -0002820535 00000 n -0002820673 00000 n -0002820783 00000 n -0002820893 00000 n -0002821003 00000 n -0002821113 00000 n -0002821223 00000 n -0002821359 00000 n -0000165572 00000 n -0000164941 00000 n -0000124768 00000 n -0000165383 00000 n -0000165103 00000 n -0002821468 00000 n -0002821577 00000 n -0002821686 00000 n -0002821795 00000 n -0002821931 00000 n -0002822040 00000 n -0002822139 00000 n -0002822232 00000 n -0002822344 00000 n -0002822430 00000 n -0002822544 00000 n -0002822637 00000 n -0002822750 00000 n -0002822836 00000 n -0002822950 00000 n -0002823043 00000 n -0002823156 00000 n -0002823242 00000 n -0002823356 00000 n -0002823466 00000 n -0002823576 00000 n -0002823665 00000 n -0002823776 00000 n -0002823886 00000 n -0002824022 00000 n -0000206181 00000 n -0000205846 00000 n -0000165693 00000 n -0000205992 00000 n -0002948329 00000 n -0002824131 00000 n -0002824240 00000 n -0002824349 00000 n -0002824485 00000 n -0002824640 00000 n -0000235134 00000 n -0000206315 00000 n -0002824763 00000 n -0002824873 00000 n -0002825011 00000 n -0002825168 00000 n -0000235343 00000 n -0000206361 00000 n -0002825292 00000 n -0002825449 00000 n -0000235562 00000 n -0000206407 00000 n -0002825573 00000 n -0002825711 00000 n -0002825821 00000 n -0002825959 00000 n -0002826050 00000 n -0002826143 00000 n -0002826256 00000 n -0002826342 00000 n -0002826456 00000 n -0002826549 00000 n -0002826662 00000 n -0002826748 00000 n -0002826862 00000 n -0002826998 00000 n -0000236149 00000 n -0000234927 00000 n -0000206453 00000 n -0000235771 00000 n -0002946361 00000 n -0002941490 00000 n -0000235089 00000 n -0002827107 00000 n -0002827216 00000 n -0002827325 00000 n -0002827434 00000 n -0002827543 00000 n -0002827652 00000 n -0002827788 00000 n -0002827898 00000 n -0002828055 00000 n -0000265622 00000 n -0000236296 00000 n -0002828179 00000 n -0002828336 00000 n -0000265840 00000 n -0000236342 00000 n -0002828460 00000 n -0002828570 00000 n -0002828680 00000 n -0002828818 00000 n -0002828928 00000 n -0002829038 00000 n -0002829176 00000 n -0002829286 00000 n -0002829422 00000 n -0002829577 00000 n -0002829670 00000 n -0002829782 00000 n -0002829868 00000 n -0000266371 00000 n -0000265423 00000 n -0000236388 00000 n -0000266056 00000 n -0000265585 00000 n -0002829981 00000 n -0002830074 00000 n -0002830186 00000 n -0002830272 00000 n -0002830385 00000 n -0002830478 00000 n -0002830590 00000 n -0002830676 00000 n -0002830870 00000 n -0000311046 00000 n -0000266505 00000 n -0002830993 00000 n -0002831086 00000 n -0002831199 00000 n -0002831285 00000 n -0002831399 00000 n -0002831492 00000 n -0002831605 00000 n -0002831691 00000 n -0002831805 00000 n -0002831898 00000 n -0002832011 00000 n -0002832097 00000 n -0002832211 00000 n -0002832304 00000 n -0002832417 00000 n -0002832503 00000 n -0002832617 00000 n -0002832710 00000 n -0002832823 00000 n -0002832909 00000 n -0002833023 00000 n -0002833116 00000 n -0002833229 00000 n -0002833315 00000 n -0002833429 00000 n -0002833522 00000 n -0002833635 00000 n -0002833721 00000 n -0002833835 00000 n -0002833973 00000 n -0002834083 00000 n -0002834193 00000 n -0000311454 00000 n -0000310855 00000 n -0000266551 00000 n -0000311265 00000 n -0000311017 00000 n -0002834340 00000 n -0002834449 00000 n -0000311588 00000 n -0000329678 00000 n -0002834631 00000 n -0002834767 00000 n -0002834856 00000 n -0002834966 00000 n -0002835075 00000 n -0002835184 00000 n -0002835293 00000 n -0002835403 00000 n -0002835539 00000 n -0001560442 00000 n -0000329532 00000 n -0000311639 00000 n -0001560253 00000 n -0001560379 00000 n -0002835648 00000 n -0002835757 00000 n -0002835866 00000 n -0002835975 00000 n -0002836084 00000 n -0002836220 00000 n -0002836330 00000 n -0002836440 00000 n -0002836550 00000 n -0002836745 00000 n -0002836838 00000 n -0002836951 00000 n -0002837037 00000 n -0002837151 00000 n -0002837244 00000 n -0002837357 00000 n -0002837443 00000 n -0002837557 00000 n -0002837650 00000 n -0002837763 00000 n -0002837849 00000 n -0002837963 00000 n -0002838056 00000 n -0002838169 00000 n -0002838255 00000 n -0002838369 00000 n -0002838462 00000 n -0002838575 00000 n -0002838661 00000 n -0002838775 00000 n -0002838868 00000 n -0002838981 00000 n -0002839067 00000 n -0002839226 00000 n -0001596558 00000 n -0001560604 00000 n -0002839350 00000 n -0002839443 00000 n -0002839556 00000 n -0002839642 00000 n -0002839801 00000 n -0001596767 00000 n -0001560650 00000 n -0002839925 00000 n -0002840018 00000 n -0002840131 00000 n -0002840217 00000 n -0002840331 00000 n -0002840424 00000 n -0002840536 00000 n -0002840622 00000 n -0002840779 00000 n -0001632306 00000 n -0001560696 00000 n -0001597228 00000 n -0001596359 00000 n -0001560742 00000 n -0001596976 00000 n -0001597165 00000 n -0002935668 00000 n -0001596521 00000 n -0002840902 00000 n -0002840995 00000 n -0002841107 00000 n -0002841193 00000 n -0002841342 00000 n -0002841435 00000 n -0002841547 00000 n -0002841633 00000 n -0002841746 00000 n -0002841839 00000 n -0002841951 00000 n -0002842037 00000 n -0002842151 00000 n -0002842244 00000 n -0002842357 00000 n -0002842443 00000 n -0002842557 00000 n -0002842650 00000 n -0002842763 00000 n -0002842849 00000 n -0002843045 00000 n -0001632525 00000 n -0001597414 00000 n -0002843169 00000 n -0002843262 00000 n -0002843375 00000 n -0002843461 00000 n -0002843575 00000 n -0002843713 00000 n -0002843861 00000 n -0002843973 00000 n -0001633682 00000 n -0001632106 00000 n -0001597460 00000 n -0001632739 00000 n -0001632865 00000 n -0001632927 00000 n -0001632989 00000 n -0001633052 00000 n -0001633115 00000 n -0001633178 00000 n -0001633241 00000 n -0001633304 00000 n -0001633367 00000 n -0001633430 00000 n -0001633493 00000 n -0001633556 00000 n -0001633619 00000 n -0003003230 00000 n -0001632269 00000 n -0002844082 00000 n -0002844191 00000 n -0002844327 00000 n -0002844436 00000 n -0002844535 00000 n -0002844628 00000 n -0002844740 00000 n -0002844826 00000 n -0002844975 00000 n -0002845068 00000 n -0002845180 00000 n -0002845266 00000 n -0002845416 00000 n -0002845509 00000 n -0002845622 00000 n -0002845708 00000 n -0002845859 00000 n -0002845948 00000 n -0002846058 00000 n -0002846384 00000 n -0002846473 00000 n -0002846583 00000 n -0002846821 00000 n -0002847016 00000 n -0002847126 00000 n -0002847264 00000 n -0002847374 00000 n -0002847473 00000 n -0002847566 00000 n -0002847678 00000 n -0002847774 00000 n -0001681563 00000 n -0001681038 00000 n -0001633829 00000 n -0001681185 00000 n -0001681311 00000 n -0001681374 00000 n -0001681437 00000 n -0002847887 00000 n -0002848000 00000 n -0002848093 00000 n -0002848206 00000 n -0002848302 00000 n -0002848416 00000 n -0002848529 00000 n -0002848622 00000 n -0002848735 00000 n -0002848855 00000 n -0001707968 00000 n -0001707186 00000 n -0001681697 00000 n -0001707333 00000 n -0001707396 00000 n -0001707458 00000 n -0001707521 00000 n -0001707585 00000 n -0001707649 00000 n -0001707713 00000 n -0001707776 00000 n -0001707840 00000 n -0001707904 00000 n -0002849040 00000 n -0002849150 00000 n -0002849262 00000 n -0002849372 00000 n -0002849482 00000 n -0002849591 00000 n -0002849702 00000 n -0002849811 00000 n -0002849950 00000 n -0002850043 00000 n -0002850155 00000 n -0002850259 00000 n -0002850372 00000 n -0002850485 00000 n -0002850596 00000 n -0002850689 00000 n -0002850802 00000 n -0002850888 00000 n -0002851002 00000 n -0002851095 00000 n -0002851208 00000 n -0002851294 00000 n -0002851408 00000 n -0002851501 00000 n -0002851614 00000 n -0002851700 00000 n -0002851814 00000 n -0002851907 00000 n -0002852019 00000 n -0002852105 00000 n -0001745053 00000 n -0001743831 00000 n -0001708089 00000 n -0001743978 00000 n -0001744041 00000 n -0001744104 00000 n -0001744168 00000 n -0001744232 00000 n -0001744296 00000 n -0001744359 00000 n -0001744422 00000 n -0001744485 00000 n -0001744548 00000 n -0001744611 00000 n -0001744674 00000 n -0001744738 00000 n -0001744801 00000 n -0001744864 00000 n -0001744927 00000 n -0001744990 00000 n -0002933227 00000 n -0002852218 00000 n -0002852311 00000 n -0002852423 00000 n -0002852519 00000 n -0002852632 00000 n -0002852742 00000 n -0002852835 00000 n -0002852947 00000 n -0002853033 00000 n -0002853146 00000 n -0002853239 00000 n -0002853351 00000 n -0002853437 00000 n -0002853595 00000 n -0001793958 00000 n -0001745187 00000 n -0002853718 00000 n -0002853856 00000 n -0002853966 00000 n -0002854076 00000 n -0002854183 00000 n -0002854276 00000 n -0002854389 00000 n -0002854475 00000 n -0002854589 00000 n -0002854682 00000 n -0002854795 00000 n -0002854881 00000 n -0002854995 00000 n -0002855088 00000 n -0002855201 00000 n -0002855287 00000 n -0002855401 00000 n -0002855494 00000 n -0002855607 00000 n -0002855693 00000 n -0001794744 00000 n -0001793766 00000 n -0001745233 00000 n -0001794178 00000 n -0001794241 00000 n -0001794304 00000 n -0001794367 00000 n -0001794430 00000 n -0001794556 00000 n -0001794619 00000 n -0001794682 00000 n -0001793929 00000 n -0002855807 00000 n -0002855945 00000 n -0002856139 00000 n -0001839241 00000 n -0001794878 00000 n -0002856263 00000 n -0002856373 00000 n -0002856484 00000 n -0002856595 00000 n -0002856706 00000 n -0002856861 00000 n -0002856954 00000 n -0002857068 00000 n -0002857154 00000 n -0002857315 00000 n -0001839458 00000 n -0001794924 00000 n -0002857441 00000 n -0002857537 00000 n -0002857653 00000 n -0002857771 00000 n -0002857888 00000 n -0002858002 00000 n -0002858116 00000 n -0002858317 00000 n -0001839669 00000 n -0001794972 00000 n -0002858445 00000 n -0002858541 00000 n -0002858657 00000 n -0002858746 00000 n -0002858863 00000 n -0002858959 00000 n -0002859075 00000 n -0002859164 00000 n -0002859281 00000 n -0002859377 00000 n -0002859492 00000 n -0002859581 00000 n -0002859743 00000 n -0001882625 00000 n -0001795020 00000 n -0002859870 00000 n -0002859966 00000 n -0002860081 00000 n -0002860181 00000 n -0002860343 00000 n -0001882835 00000 n -0001795068 00000 n -0001840209 00000 n -0001839026 00000 n -0001795116 00000 n -0001839885 00000 n -0001839950 00000 n -0001840079 00000 n -0001840144 00000 n -0001839193 00000 n -0002860470 00000 n -0002860585 00000 n -0002860681 00000 n -0002860796 00000 n -0002860885 00000 n -0002861049 00000 n -0001883046 00000 n -0001840383 00000 n -0002861177 00000 n -0002861273 00000 n -0002861389 00000 n -0002861489 00000 n -0002861653 00000 n -0001883256 00000 n -0001840431 00000 n -0002861781 00000 n -0002861897 00000 n -0002861993 00000 n -0002862109 00000 n -0002862198 00000 n -0002862315 00000 n -0002862427 00000 n -0002862539 00000 n -0002862651 00000 n -0002862763 00000 n -0002862875 00000 n -0002862987 00000 n -0002863099 00000 n -0002863211 00000 n -0001884315 00000 n -0001882400 00000 n -0001840479 00000 n -0001883466 00000 n -0001883531 00000 n -0001883596 00000 n -0001883662 00000 n -0001883728 00000 n -0001883793 00000 n -0001883859 00000 n -0001883925 00000 n -0001883990 00000 n -0001884055 00000 n -0001884120 00000 n -0001884185 00000 n -0001884250 00000 n -0001882567 00000 n -0002863322 00000 n -0002863434 00000 n -0002863546 00000 n -0002863658 00000 n -0002863770 00000 n -0002863882 00000 n -0002863994 00000 n -0002864106 00000 n -0002864247 00000 n -0002864399 00000 n -0002864511 00000 n -0001919943 00000 n -0001918625 00000 n -0001884489 00000 n -0001918775 00000 n -0001918840 00000 n -0001918905 00000 n -0001918970 00000 n -0001919099 00000 n -0001919164 00000 n -0001919229 00000 n -0001919294 00000 n -0001919358 00000 n -0001919423 00000 n -0001919488 00000 n -0001919553 00000 n -0001919618 00000 n -0001919683 00000 n -0001919748 00000 n -0001919813 00000 n -0001919878 00000 n -0002865395 00000 n -0002865506 00000 n -0002865617 00000 n -0002865730 00000 n -0002865841 00000 n -0001939953 00000 n -0002866065 00000 n -0002866175 00000 n -0002866313 00000 n -0002866433 00000 n -0002866530 00000 n -0002866646 00000 n -0002866735 00000 n -0002866852 00000 n -0002866949 00000 n -0002867064 00000 n -0002867153 00000 n -0002088793 00000 n -0001939803 00000 n -0001920091 00000 n -0002087496 00000 n -0002087561 00000 n -0002087626 00000 n -0002087691 00000 n -0002087756 00000 n -0002087821 00000 n -0002087886 00000 n -0002087951 00000 n -0002088016 00000 n -0002088081 00000 n -0002088146 00000 n -0002088211 00000 n -0002088275 00000 n -0002088339 00000 n -0002088404 00000 n -0002088469 00000 n -0002088534 00000 n -0002088599 00000 n -0002088664 00000 n -0002867269 00000 n -0002867366 00000 n -0002867481 00000 n -0002867570 00000 n -0002867686 00000 n -0002867783 00000 n -0002867898 00000 n -0002867987 00000 n -0002868103 00000 n -0002868200 00000 n -0002868315 00000 n -0002868404 00000 n -0002868520 00000 n -0002868823 00000 n -0002868939 00000 n -0002869079 00000 n -0002869190 00000 n -0002869386 00000 n -0002121342 00000 n -0002088957 00000 n -0002123174 00000 n -0002121144 00000 n -0002089005 00000 n -0002121552 00000 n -0002121617 00000 n -0002121682 00000 n -0002121747 00000 n -0002121812 00000 n -0002121877 00000 n -0002121942 00000 n -0002122007 00000 n -0002122072 00000 n -0002122136 00000 n -0002122200 00000 n -0002122265 00000 n -0002122330 00000 n -0002122395 00000 n -0002122460 00000 n -0002122525 00000 n -0002122590 00000 n -0002122655 00000 n -0002122720 00000 n -0002122785 00000 n -0002122850 00000 n -0002122915 00000 n -0002122979 00000 n -0002123044 00000 n -0002121311 00000 n -0002869514 00000 n -0002869625 00000 n -0002869736 00000 n -0002869847 00000 n -0002869958 00000 n -0002870069 00000 n -0002870180 00000 n -0002870291 00000 n -0002870402 00000 n -0002870513 00000 n -0002158930 00000 n -0002157546 00000 n -0002123309 00000 n -0002157697 00000 n -0002157762 00000 n -0002157827 00000 n -0002157892 00000 n -0002157957 00000 n -0002158022 00000 n -0002158087 00000 n -0002158151 00000 n -0002158216 00000 n -0002158281 00000 n -0002158346 00000 n -0002158411 00000 n -0002158476 00000 n -0002158541 00000 n -0002158606 00000 n -0002158671 00000 n -0002158736 00000 n -0002158801 00000 n -0002158866 00000 n -0003003388 00000 n -0002871397 00000 n -0002871537 00000 n -0002871648 00000 n -0002871761 00000 n -0002871872 00000 n -0002871983 00000 n -0002872143 00000 n -0002193907 00000 n -0002159065 00000 n -0002872271 00000 n -0002872411 00000 n -0002872562 00000 n -0002872673 00000 n -0002872784 00000 n -0002194831 00000 n -0002193708 00000 n -0002159113 00000 n -0002194118 00000 n -0002194183 00000 n -0002194248 00000 n -0002194377 00000 n -0002194442 00000 n -0002194507 00000 n -0002194572 00000 n -0002194637 00000 n -0002194702 00000 n -0002193876 00000 n -0002873774 00000 n -0002873912 00000 n -0002874022 00000 n -0002874133 00000 n -0002874244 00000 n -0002874355 00000 n -0002874495 00000 n -0002874606 00000 n -0002874746 00000 n -0002874906 00000 n -0002227364 00000 n -0002194966 00000 n -0002875034 00000 n -0002228869 00000 n -0002227165 00000 n -0002195014 00000 n -0002227575 00000 n -0002227640 00000 n -0002227705 00000 n -0002227770 00000 n -0002227835 00000 n -0002227900 00000 n -0002227965 00000 n -0002228030 00000 n -0002228095 00000 n -0002228160 00000 n -0002228289 00000 n -0002228354 00000 n -0002228545 00000 n -0002228610 00000 n -0002228675 00000 n -0002228740 00000 n -0002228805 00000 n -0002227333 00000 n -0002875147 00000 n -0002875285 00000 n -0002875395 00000 n -0002875507 00000 n -0002875617 00000 n -0002875727 00000 n -0002875839 00000 n -0002875949 00000 n -0002876087 00000 n -0002876198 00000 n -0002876309 00000 n -0002876420 00000 n -0002876531 00000 n -0002876642 00000 n -0002876870 00000 n -0002876967 00000 n -0002877083 00000 n -0002877172 00000 n -0002877336 00000 n -0002258189 00000 n -0002229004 00000 n -0002877464 00000 n -0002877561 00000 n -0002877676 00000 n -0002877765 00000 n -0002259632 00000 n -0002257990 00000 n -0002229052 00000 n -0002258400 00000 n -0002258529 00000 n -0002258594 00000 n -0002258659 00000 n -0002258724 00000 n -0002258789 00000 n -0002258854 00000 n -0002258919 00000 n -0002258984 00000 n -0002259049 00000 n -0002259114 00000 n -0002259179 00000 n -0002259244 00000 n -0002259308 00000 n -0002259373 00000 n -0002259502 00000 n -0002259567 00000 n -0002258158 00000 n -0002877881 00000 n -0002877978 00000 n -0002878093 00000 n -0002878182 00000 n -0002878298 00000 n -0002878395 00000 n -0002878510 00000 n -0002878599 00000 n -0002878761 00000 n -0002297672 00000 n -0002259780 00000 n -0002878888 00000 n -0002878985 00000 n -0002879100 00000 n -0002879209 00000 n -0002879372 00000 n -0002297883 00000 n -0002259828 00000 n -0002879500 00000 n -0002879616 00000 n -0002879730 00000 n -0002879827 00000 n -0002879943 00000 n -0002880032 00000 n -0002880196 00000 n -0002298094 00000 n -0002259876 00000 n -0002880324 00000 n -0002880421 00000 n -0002880537 00000 n -0002880646 00000 n -0002880810 00000 n -0002298303 00000 n -0002259924 00000 n -0002880938 00000 n -0002881054 00000 n -0002881168 00000 n -0002881265 00000 n -0002881381 00000 n -0002881490 00000 n -0002881607 00000 n -0002881723 00000 n -0002881886 00000 n -0002298514 00000 n -0002259972 00000 n -0002882014 00000 n -0002882111 00000 n -0002882227 00000 n -0002882336 00000 n -0002882453 00000 n -0002882569 00000 n -0002882732 00000 n -0002298735 00000 n -0002260020 00000 n -0002882860 00000 n -0002882957 00000 n -0002883073 00000 n -0002883162 00000 n -0002883279 00000 n -0002883376 00000 n -0002883492 00000 n -0002883581 00000 n -0002883698 00000 n -0002883795 00000 n -0002883910 00000 n -0002884019 00000 n -0002299676 00000 n -0002297428 00000 n -0002260068 00000 n -0002298956 00000 n -0002299021 00000 n -0002299086 00000 n -0002299152 00000 n -0002299217 00000 n -0002299282 00000 n -0002299348 00000 n -0002299414 00000 n -0002299479 00000 n -0002299545 00000 n -0002299610 00000 n -0002297596 00000 n -0002884135 00000 n -0002884250 00000 n -0002884363 00000 n -0002884460 00000 n -0002884575 00000 n -0002884675 00000 n -0002884791 00000 n -0002884906 00000 n -0002885003 00000 n -0002885118 00000 n -0002885207 00000 n -0002885323 00000 n -0002885420 00000 n -0002885535 00000 n -0002885624 00000 n -0002885741 00000 n -0002885838 00000 n -0002885954 00000 n -0002886043 00000 n -0002886160 00000 n -0002886257 00000 n -0002886373 00000 n -0002886462 00000 n -0002886579 00000 n -0002886690 00000 n -0002886801 00000 n -0002886912 00000 n -0002887023 00000 n -0002887134 00000 n -0002887245 00000 n -0002887385 00000 n -0002887496 00000 n -0002887634 00000 n -0002338740 00000 n -0002337806 00000 n -0002299824 00000 n -0002337957 00000 n -0002338022 00000 n -0002338087 00000 n -0002338153 00000 n -0002338219 00000 n -0002338285 00000 n -0002338350 00000 n -0002338416 00000 n -0002338481 00000 n -0002338546 00000 n -0002338611 00000 n -0002887744 00000 n -0002887856 00000 n -0002887966 00000 n -0002888076 00000 n -0002888188 00000 n -0002888298 00000 n -0002888408 00000 n -0002888518 00000 n -0002888631 00000 n -0002888771 00000 n -0002888882 00000 n -0002888993 00000 n -0002369113 00000 n -0002367733 00000 n -0002338888 00000 n -0002367884 00000 n -0002368013 00000 n -0002368078 00000 n -0002368143 00000 n -0002368208 00000 n -0002368273 00000 n -0002368338 00000 n -0002368402 00000 n -0002368467 00000 n -0002368532 00000 n -0002368597 00000 n -0002368662 00000 n -0002368726 00000 n -0002368790 00000 n -0002368855 00000 n -0002368920 00000 n -0002369049 00000 n -0002889103 00000 n -0002889243 00000 n -0002889354 00000 n -0002387947 00000 n -0002385395 00000 n -0002369248 00000 n -0002385546 00000 n -0002385675 00000 n -0002385740 00000 n -0002385805 00000 n -0002385870 00000 n -0002385935 00000 n -0002386000 00000 n -0002386065 00000 n -0002386130 00000 n -0002386195 00000 n -0002386260 00000 n -0002386324 00000 n -0002386389 00000 n -0002386454 00000 n -0002386519 00000 n -0002386584 00000 n -0002386649 00000 n -0002386714 00000 n -0002386779 00000 n -0002386844 00000 n -0002386909 00000 n -0002386974 00000 n -0002387039 00000 n -0002387103 00000 n -0002387168 00000 n -0002387233 00000 n -0002387298 00000 n -0002387363 00000 n -0002387428 00000 n -0002387493 00000 n -0002387558 00000 n -0002387623 00000 n -0002387688 00000 n -0002387753 00000 n -0002387818 00000 n -0002387883 00000 n -0002891043 00000 n -0002891183 00000 n -0002891343 00000 n -0002416120 00000 n -0002388069 00000 n -0002891471 00000 n -0002891582 00000 n -0002891693 00000 n -0002891833 00000 n -0002891944 00000 n -0002892057 00000 n -0002892168 00000 n -0002892306 00000 n -0002417627 00000 n -0002415921 00000 n -0002388117 00000 n -0002416330 00000 n -0002416395 00000 n -0002416460 00000 n -0002416525 00000 n -0002416590 00000 n -0002416655 00000 n -0002416720 00000 n -0002416785 00000 n -0002416850 00000 n -0002416915 00000 n -0002416980 00000 n -0002417044 00000 n -0002417109 00000 n -0002417174 00000 n -0002417367 00000 n -0002417432 00000 n -0002417497 00000 n -0002417562 00000 n -0002416089 00000 n -0002892416 00000 n -0002892526 00000 n -0002892636 00000 n -0002892746 00000 n -0002892857 00000 n -0002892954 00000 n -0002893069 00000 n -0002893158 00000 n -0002893274 00000 n -0002893371 00000 n -0002893486 00000 n -0002893575 00000 n -0002893691 00000 n -0002893788 00000 n -0002893904 00000 n -0002893993 00000 n -0002894110 00000 n -0002894207 00000 n -0002894323 00000 n -0002894412 00000 n -0002894529 00000 n -0002894669 00000 n -0002894780 00000 n -0002894891 00000 n -0002895004 00000 n -0002895115 00000 n -0002895226 00000 n -0002895328 00000 n -0002895425 00000 n -0002895540 00000 n -0002895629 00000 n -0002456150 00000 n -0002455676 00000 n -0002417762 00000 n -0002455827 00000 n -0002456020 00000 n -0002456085 00000 n -0002895745 00000 n -0002895842 00000 n -0002895957 00000 n -0002896046 00000 n -0002896162 00000 n -0002896259 00000 n -0002896374 00000 n -0002896463 00000 n -0002896579 00000 n -0002896689 00000 n -0002897172 00000 n -0002897269 00000 n -0002897384 00000 n -0002897473 00000 n -0002897589 00000 n -0002897686 00000 n -0002897801 00000 n -0002897890 00000 n -0002898007 00000 n -0002898104 00000 n -0002898220 00000 n -0002898309 00000 n -0002898426 00000 n -0002898523 00000 n -0002898639 00000 n -0002898728 00000 n -0002898845 00000 n -0002898942 00000 n -0002899058 00000 n -0002899147 00000 n -0002899273 00000 n -0002899389 00000 n -0002506534 00000 n -0002505926 00000 n -0002456298 00000 n -0002506077 00000 n -0002506142 00000 n -0002506207 00000 n -0002506272 00000 n -0002506337 00000 n -0002506402 00000 n -0002506468 00000 n -0003003552 00000 n -0002899502 00000 n -0002899643 00000 n -0002899756 00000 n -0002899869 00000 n -0002899982 00000 n -0002900095 00000 n -0002900208 00000 n -0002900321 00000 n -0002900435 00000 n -0002900549 00000 n -0002900692 00000 n -0002900806 00000 n -0002900929 00000 n -0002901026 00000 n -0002901141 00000 n -0002901230 00000 n -0002549893 00000 n -0002549484 00000 n -0002506656 00000 n -0002549635 00000 n -0002549764 00000 n -0002901346 00000 n -0002901443 00000 n -0002901558 00000 n -0002901667 00000 n -0002901783 00000 n -0002901937 00000 n -0002902050 00000 n -0002902147 00000 n -0002902262 00000 n -0002902351 00000 n -0002902467 00000 n -0002902564 00000 n -0002902679 00000 n -0002902768 00000 n -0002902932 00000 n -0002587110 00000 n -0002550041 00000 n -0002903060 00000 n -0002903157 00000 n -0002903273 00000 n -0002903362 00000 n -0002903479 00000 n -0002903593 00000 n -0002903736 00000 n -0002903850 00000 n -0002903964 00000 n -0002904078 00000 n -0002904183 00000 n -0002904280 00000 n -0002904396 00000 n -0002904485 00000 n -0002904602 00000 n -0002904699 00000 n -0002904815 00000 n -0002904904 00000 n -0002905021 00000 n -0002905118 00000 n -0002905234 00000 n -0002905323 00000 n -0002905440 00000 n -0002905581 00000 n -0002905848 00000 n -0002905945 00000 n -0002906060 00000 n -0002906149 00000 n -0002587512 00000 n -0002586911 00000 n -0002550089 00000 n -0002587319 00000 n -0002587447 00000 n -0002587079 00000 n -0002906265 00000 n -0002906362 00000 n -0002906477 00000 n -0002906566 00000 n -0002906682 00000 n -0002906779 00000 n -0002906894 00000 n -0002906983 00000 n -0002907099 00000 n -0002907196 00000 n -0002907311 00000 n -0002907400 00000 n -0002907563 00000 n -0002606548 00000 n -0002587673 00000 n -0002907691 00000 n -0002907788 00000 n -0002907904 00000 n -0002907993 00000 n -0002908110 00000 n -0002908207 00000 n -0002908323 00000 n -0002908412 00000 n -0002908529 00000 n -0002908626 00000 n -0002908742 00000 n -0002908831 00000 n -0002908948 00000 n -0002909045 00000 n -0002909161 00000 n -0002909250 00000 n -0002909367 00000 n -0002909464 00000 n -0002909580 00000 n -0002909669 00000 n -0002909786 00000 n -0002909883 00000 n -0002909999 00000 n -0002910088 00000 n -0002910205 00000 n -0002910302 00000 n -0002910418 00000 n -0002910507 00000 n -0002910624 00000 n -0002910721 00000 n -0002910837 00000 n -0002910926 00000 n -0002911043 00000 n -0002911140 00000 n -0002911256 00000 n -0002911345 00000 n -0002911462 00000 n -0002911559 00000 n -0002911675 00000 n -0002911764 00000 n -0002911881 00000 n -0002911978 00000 n -0002912094 00000 n -0002912183 00000 n -0002912300 00000 n -0002912397 00000 n -0002912513 00000 n -0002912602 00000 n -0002912719 00000 n -0002912816 00000 n -0002912932 00000 n -0002913021 00000 n -0002913138 00000 n -0002913235 00000 n -0002913351 00000 n -0002913440 00000 n -0002913557 00000 n -0002913654 00000 n -0002913770 00000 n -0002913859 00000 n -0002913976 00000 n -0002914073 00000 n -0002914189 00000 n -0002914278 00000 n -0002914395 00000 n -0002914492 00000 n -0002914608 00000 n -0002914697 00000 n -0002914814 00000 n -0002914919 00000 n -0002915008 00000 n -0002915175 00000 n -0002652387 00000 n -0002587721 00000 n -0002915302 00000 n -0002915391 00000 n -0002915558 00000 n -0002652972 00000 n -0002587769 00000 n -0002915685 00000 n -0002915774 00000 n -0002915941 00000 n -0002653555 00000 n -0002587817 00000 n -0002916068 00000 n -0002916157 00000 n -0002916326 00000 n -0002653790 00000 n -0002587865 00000 n -0002606898 00000 n -0002606349 00000 n -0002587913 00000 n -0002606769 00000 n -0002606517 00000 n -0002916454 00000 n -0002916543 00000 n -0002916712 00000 n -0002654338 00000 n -0002607020 00000 n -0002916840 00000 n -0002916929 00000 n -0002917098 00000 n -0002654841 00000 n -0002607068 00000 n -0002917226 00000 n -0002917315 00000 n -0002917484 00000 n -0002655078 00000 n -0002607116 00000 n -0002917612 00000 n -0002917755 00000 n -0002917869 00000 n -0002918019 00000 n -0002918116 00000 n -0002918232 00000 n -0002918332 00000 n -0002918449 00000 n -0002918720 00000 n -0002918817 00000 n -0002918933 00000 n -0002919033 00000 n -0002919150 00000 n -0002919264 00000 n -0002919361 00000 n -0002919476 00000 n -0002919594 00000 n -0002655931 00000 n -0002652089 00000 n -0002607164 00000 n -0002655673 00000 n -0002655802 00000 n -0002652680 00000 n -0002653263 00000 n -0002654062 00000 n -0002654590 00000 n -0002655376 00000 n -0002652257 00000 n -0002919711 00000 n -0002919825 00000 n -0002919939 00000 n -0002920053 00000 n -0002920150 00000 n -0002920266 00000 n -0002920375 00000 n -0002920492 00000 n -0002920606 00000 n -0002920833 00000 n -0002920930 00000 n -0002921046 00000 n -0002921155 00000 n -0002921272 00000 n -0002921386 00000 n -0002921502 00000 n -0002921599 00000 n -0002921715 00000 n -0002921804 00000 n -0002921921 00000 n -0002922018 00000 n -0002922134 00000 n -0002922252 00000 n -0002922369 00000 n -0002922483 00000 n -0002697231 00000 n -0002696488 00000 n -0002656079 00000 n -0002696639 00000 n -0002696704 00000 n -0002696769 00000 n -0002696835 00000 n -0002696901 00000 n -0002696967 00000 n -0002697033 00000 n -0002697099 00000 n -0002697165 00000 n -0002924582 00000 n -0002924696 00000 n -0002924793 00000 n -0002924909 00000 n -0002925018 00000 n -0002925135 00000 n -0002925251 00000 n -0002714963 00000 n -0002712837 00000 n -0002697541 00000 n -0002712988 00000 n -0002713053 00000 n -0002713118 00000 n -0002713184 00000 n -0002713250 00000 n -0002713316 00000 n -0002713382 00000 n -0002713448 00000 n -0002713514 00000 n -0002713580 00000 n -0002713646 00000 n -0002713712 00000 n -0002713777 00000 n -0002713843 00000 n -0002713909 00000 n -0002713975 00000 n -0002714041 00000 n -0002714107 00000 n -0002714173 00000 n -0002714239 00000 n -0002714305 00000 n -0002714371 00000 n -0002714436 00000 n -0002714502 00000 n -0002714568 00000 n -0002714634 00000 n -0002714699 00000 n -0002714765 00000 n -0002714831 00000 n -0002714897 00000 n -0002715098 00000 n -0002759602 00000 n -0002759640 00000 n -0002759687 00000 n -0003008753 00000 n -0002759735 00000 n -0002759884 00000 n -0003008654 00000 n -0002759932 00000 n -0002760137 00000 n -0003008513 00000 n -0002760185 00000 n -0002760275 00000 n -0003008429 00000 n -0002760328 00000 n -0002760489 00000 n -0003008330 00000 n -0002760542 00000 n -0002760663 00000 n -0003008231 00000 n -0002760716 00000 n -0002760923 00000 n -0003008132 00000 n -0002760976 00000 n -0002761056 00000 n -0003008033 00000 n -0002761109 00000 n -0002761222 00000 n -0003007934 00000 n -0002761275 00000 n -0002761381 00000 n -0003007835 00000 n -0002761434 00000 n -0002761540 00000 n -0003007736 00000 n -0002761593 00000 n -0002761699 00000 n -0003007637 00000 n -0002761752 00000 n -0002761906 00000 n -0003007538 00000 n -0002761960 00000 n -0002762109 00000 n -0003007439 00000 n -0002762163 00000 n -0002762317 00000 n -0003007340 00000 n -0002762371 00000 n -0002762525 00000 n -0003007241 00000 n -0002762579 00000 n -0002762733 00000 n -0003007142 00000 n -0002762787 00000 n -0002762936 00000 n -0003007058 00000 n -0002762990 00000 n -0002763329 00000 n -0003006918 00000 n -0002763377 00000 n -0002763432 00000 n -0003006834 00000 n -0002763485 00000 n -0002763649 00000 n -0003006750 00000 n -0002763702 00000 n -0002763838 00000 n -0003006610 00000 n -0002763886 00000 n -0002763951 00000 n -0003006526 00000 n -0002764004 00000 n -0002764092 00000 n -0003006386 00000 n -0002764145 00000 n -0002764438 00000 n -0003006302 00000 n -0002764496 00000 n -0002764762 00000 n -0003006203 00000 n -0002764820 00000 n -0002765040 00000 n -0003006104 00000 n -0002765098 00000 n -0002765418 00000 n -0003006005 00000 n -0002765476 00000 n -0002765526 00000 n -0003005906 00000 n -0002765584 00000 n -0002765758 00000 n -0003005807 00000 n -0002765816 00000 n -0002765866 00000 n -0003005708 00000 n -0002765924 00000 n -0002766037 00000 n -0003005624 00000 n -0002766095 00000 n -0002766289 00000 n -0003005484 00000 n -0002766342 00000 n -0002766529 00000 n -0003005400 00000 n -0002766587 00000 n -0002766695 00000 n -0003005301 00000 n -0002766753 00000 n -0002766833 00000 n -0003005202 00000 n -0002766891 00000 n -0002767093 00000 n -0003005103 00000 n -0002767151 00000 n -0002767254 00000 n -0003005019 00000 n -0002767312 00000 n -0002767511 00000 n -0003004920 00000 n -0002767564 00000 n -0002767718 00000 n -0003004821 00000 n -0002767771 00000 n -0002767971 00000 n -0003004722 00000 n -0002768024 00000 n -0002768193 00000 n -0003004638 00000 n -0002768246 00000 n -0002768415 00000 n -0003004539 00000 n -0002768463 00000 n -0002768788 00000 n -0003004440 00000 n -0002768836 00000 n -0002769013 00000 n -0003004341 00000 n -0002769061 00000 n -0002769192 00000 n -0003004242 00000 n -0002769240 00000 n -0002769447 00000 n -0003004143 00000 n -0002769496 00000 n -0002769571 00000 n -0003004044 00000 n -0002769620 00000 n -0002769675 00000 n -0003003945 00000 n -0002769725 00000 n -0002769805 00000 n -0003003861 00000 n -0002769854 00000 n -0002926798 00000 n -0002931741 00000 n -0002927125 00000 n -0002931964 00000 n -0002933384 00000 n -0002933588 00000 n -0002934610 00000 n -0002933651 00000 n -0002934842 00000 n -0002935833 00000 n -0002936045 00000 n -0002940145 00000 n -0002936255 00000 n -0002940367 00000 n -0002941647 00000 n -0002941851 00000 n -0002944977 00000 n -0002942175 00000 n -0002945201 00000 n -0002946519 00000 n -0002946724 00000 n -0002947350 00000 n -0002946758 00000 n -0002947575 00000 n -0002948488 00000 n -0002948694 00000 n -0002958224 00000 n -0002949135 00000 n -0002958448 00000 n -0002960448 00000 n -0002960653 00000 n -0002968455 00000 n -0002961037 00000 n -0002968681 00000 n -0002970425 00000 n -0002970631 00000 n -0002981763 00000 n -0002971156 00000 n -0002981988 00000 n -0002984202 00000 n -0002984409 00000 n -0002990370 00000 n -0002984772 00000 n -0002990593 00000 n -0002992139 00000 n -0002992343 00000 n -0003000846 00000 n -0002992807 00000 n -0003001068 00000 n -0003002876 00000 n -0003003688 00000 n -0003003780 00000 n -0003008837 00000 n -0003009570 00000 n -0003010464 00000 n -0003011421 00000 n -0003012376 00000 n -0003013317 00000 n -0003014282 00000 n -0003015251 00000 n -0003016201 00000 n -0003017119 00000 n -0003017810 00000 n -0003018564 00000 n -0003019379 00000 n -0003020055 00000 n -0003020252 00000 n -0003020292 00000 n -0003020559 00000 n +0000036100 00000 n +0000036162 00000 n +0003002726 00000 n +0002991987 00000 n +0002984047 00000 n +0002970271 00000 n +0002960295 00000 n +0000036224 00000 n +0003003083 00000 n +0000031873 00000 n +0000080162 00000 n +0000124481 00000 n +0000124544 00000 n +0000165452 00000 n +0000165515 00000 n +0000206061 00000 n +0000206124 00000 n +0000235840 00000 n +0000235903 00000 n +0000235966 00000 n +0000236029 00000 n +0000236092 00000 n +0000266125 00000 n +0000266188 00000 n +0000266251 00000 n +0000266314 00000 n +0000311334 00000 n +0000311397 00000 n +0002798239 00000 n +0002798323 00000 n +0002798418 00000 n +0000073683 00000 n +0002798557 00000 n +0002798669 00000 n +0000036420 00000 n +0002798780 00000 n +0002798898 00000 n +0002798982 00000 n +0002799077 00000 n +0000073895 00000 n +0002799217 00000 n +0002799330 00000 n +0000036466 00000 n +0002799441 00000 n +0002799559 00000 n +0002799643 00000 n +0002799738 00000 n +0000074103 00000 n +0002799878 00000 n +0002799991 00000 n +0000036512 00000 n +0002800102 00000 n +0002800220 00000 n +0002800304 00000 n +0002800399 00000 n +0000074315 00000 n +0002800539 00000 n +0002800652 00000 n +0000036558 00000 n +0002800763 00000 n +0002800881 00000 n +0002800965 00000 n +0002801060 00000 n +0000074528 00000 n +0002801200 00000 n +0002801313 00000 n +0000036604 00000 n +0002801424 00000 n +0002801542 00000 n +0002801626 00000 n +0002801721 00000 n +0000074745 00000 n +0002801861 00000 n +0002801974 00000 n +0000036650 00000 n +0002802085 00000 n +0002802203 00000 n +0002802287 00000 n +0002802382 00000 n +0000074963 00000 n +0002802522 00000 n +0002802635 00000 n +0000036696 00000 n +0002802746 00000 n +0002802864 00000 n +0002802948 00000 n +0002803043 00000 n +0000075182 00000 n +0002803183 00000 n +0002803296 00000 n +0000036742 00000 n +0002803407 00000 n +0002803525 00000 n +0002803609 00000 n +0002803704 00000 n +0000075401 00000 n +0002803844 00000 n +0002803957 00000 n +0000036788 00000 n +0002804068 00000 n +0002804186 00000 n +0002804270 00000 n +0002804365 00000 n +0000075620 00000 n +0002804505 00000 n +0002804618 00000 n +0000036834 00000 n +0002804729 00000 n +0002804847 00000 n +0002804931 00000 n +0002805026 00000 n +0000075839 00000 n +0002805166 00000 n +0002805279 00000 n +0000036880 00000 n +0002805390 00000 n +0002805508 00000 n +0002805592 00000 n +0002805687 00000 n +0000076058 00000 n +0002805827 00000 n +0002805940 00000 n +0000036926 00000 n +0002806051 00000 n +0002806169 00000 n +0002806253 00000 n +0002806348 00000 n +0000076277 00000 n +0002806488 00000 n +0002806601 00000 n +0000036972 00000 n +0002806712 00000 n +0002806830 00000 n +0002806914 00000 n +0002807009 00000 n +0000076490 00000 n +0002807149 00000 n +0002807262 00000 n +0000037018 00000 n +0002807373 00000 n +0002807491 00000 n +0002807575 00000 n +0002807670 00000 n +0000076708 00000 n +0002807810 00000 n +0002807923 00000 n +0000037064 00000 n +0002808034 00000 n +0002808152 00000 n +0002808236 00000 n +0002808331 00000 n +0000076927 00000 n +0002808471 00000 n +0002808584 00000 n +0000037110 00000 n +0002808695 00000 n +0002808813 00000 n +0002808897 00000 n +0002808992 00000 n +0000077146 00000 n +0002809132 00000 n +0002809245 00000 n +0000037156 00000 n +0002809356 00000 n +0002809474 00000 n +0002809558 00000 n +0002809653 00000 n +0000077365 00000 n +0002809793 00000 n +0002809906 00000 n +0000037202 00000 n +0002810017 00000 n +0002810135 00000 n +0002810219 00000 n +0002810314 00000 n +0000077582 00000 n +0002810454 00000 n +0002810567 00000 n +0000037248 00000 n +0002810678 00000 n +0002810796 00000 n +0002810880 00000 n +0002810975 00000 n +0000077795 00000 n +0002811115 00000 n +0002811228 00000 n +0000037294 00000 n +0002811339 00000 n +0002811457 00000 n +0002811541 00000 n +0002811636 00000 n +0000078008 00000 n +0002811776 00000 n +0002811889 00000 n +0000037340 00000 n +0002812000 00000 n +0002812118 00000 n +0002812202 00000 n +0002812297 00000 n +0000078221 00000 n +0002812437 00000 n +0002812550 00000 n +0000037386 00000 n +0002812661 00000 n +0002812779 00000 n +0002812863 00000 n +0002812958 00000 n +0000078432 00000 n +0002813098 00000 n +0002813211 00000 n +0000037432 00000 n +0002813322 00000 n +0002813440 00000 n +0002813524 00000 n +0002813619 00000 n +0000078640 00000 n +0002813760 00000 n +0002813874 00000 n +0000037478 00000 n +0002813986 00000 n +0002814105 00000 n +0002814189 00000 n +0002814284 00000 n +0000078847 00000 n +0002814425 00000 n +0002814539 00000 n +0000037524 00000 n +0002814651 00000 n +0002814770 00000 n +0002814854 00000 n +0002814949 00000 n +0000079055 00000 n +0002815090 00000 n +0002815204 00000 n +0000037570 00000 n +0002815316 00000 n +0002815435 00000 n +0002815519 00000 n +0002815614 00000 n +0000079263 00000 n +0002815755 00000 n +0002815869 00000 n +0000037616 00000 n +0002815981 00000 n +0002816100 00000 n +0002816184 00000 n +0002816279 00000 n +0000079472 00000 n +0002816420 00000 n +0002816534 00000 n +0000037662 00000 n +0002816646 00000 n +0002816765 00000 n +0002816849 00000 n +0002816944 00000 n +0000079681 00000 n +0002817077 00000 n +0000037708 00000 n +0002817189 00000 n +0002817308 00000 n +0002817392 00000 n +0002817487 00000 n +0000079891 00000 n +0002817628 00000 n +0002817742 00000 n +0000037754 00000 n +0002817854 00000 n +0002817973 00000 n +0002818113 00000 n +0002818224 00000 n +0000080225 00000 n +0000072823 00000 n +0000037800 00000 n +0000080099 00000 n +0000072985 00000 n +0001560322 00000 n +0001597045 00000 n +0001597108 00000 n +0001632808 00000 n +0001681254 00000 n +0001681506 00000 n +0001794499 00000 n +0001840021 00000 n +0001919041 00000 n +0002088735 00000 n +0002123116 00000 n +0002194319 00000 n +0002194773 00000 n +0002228231 00000 n +0002228425 00000 n +0002228487 00000 n +0002258471 00000 n +0002259444 00000 n +0002338682 00000 n +0002367955 00000 n +0002368991 00000 n +0002385617 00000 n +0002417245 00000 n +0002417309 00000 n +0002455898 00000 n +0002455962 00000 n +0002549706 00000 n +0002549835 00000 n +0002587390 00000 n +0002606840 00000 n +0002655744 00000 n +0002655873 00000 n +0002818333 00000 n +0002818469 00000 n +0002818589 00000 n +0000123856 00000 n +0000080320 00000 n +0002818712 00000 n +0002818821 00000 n +0002818930 00000 n +0002819066 00000 n +0002819175 00000 n +0002819285 00000 n +0002819433 00000 n +0002819543 00000 n +0000124607 00000 n +0000123657 00000 n +0000080366 00000 n +0000124418 00000 n +0000124137 00000 n +0000123819 00000 n +0002819690 00000 n +0002819799 00000 n +0002819954 00000 n +0000165138 00000 n +0000124728 00000 n +0002820077 00000 n +0002820186 00000 n +0002820322 00000 n +0002820431 00000 n +0002820540 00000 n +0002820678 00000 n +0002820788 00000 n +0002820898 00000 n +0002821008 00000 n +0002821118 00000 n +0002821228 00000 n +0002821364 00000 n +0000165578 00000 n +0000164947 00000 n +0000124774 00000 n +0000165389 00000 n +0000165109 00000 n +0002821473 00000 n +0002821582 00000 n +0002821691 00000 n +0002821800 00000 n +0002821936 00000 n +0002822045 00000 n +0002822144 00000 n +0002822237 00000 n +0002822349 00000 n +0002822435 00000 n +0002822549 00000 n +0002822642 00000 n +0002822755 00000 n +0002822841 00000 n +0002822955 00000 n +0002823048 00000 n +0002823161 00000 n +0002823247 00000 n +0002823361 00000 n +0002823471 00000 n +0002823581 00000 n +0002823670 00000 n +0002823781 00000 n +0002823891 00000 n +0002824027 00000 n +0000206187 00000 n +0000205852 00000 n +0000165699 00000 n +0000205998 00000 n +0002948334 00000 n +0002824136 00000 n +0002824245 00000 n +0002824354 00000 n +0002824490 00000 n +0002824645 00000 n +0000235140 00000 n +0000206321 00000 n +0002824768 00000 n +0002824878 00000 n +0002825016 00000 n +0002825173 00000 n +0000235349 00000 n +0000206367 00000 n +0002825297 00000 n +0002825454 00000 n +0000235568 00000 n +0000206413 00000 n +0002825578 00000 n +0002825716 00000 n +0002825826 00000 n +0002825964 00000 n +0002826055 00000 n +0002826148 00000 n +0002826261 00000 n +0002826347 00000 n +0002826461 00000 n +0002826554 00000 n +0002826667 00000 n +0002826753 00000 n +0002826867 00000 n +0002827003 00000 n +0000236155 00000 n +0000234933 00000 n +0000206459 00000 n +0000235777 00000 n +0002946366 00000 n +0002941495 00000 n +0000235095 00000 n +0002827112 00000 n +0002827221 00000 n +0002827330 00000 n +0002827439 00000 n +0002827548 00000 n +0002827657 00000 n +0002827793 00000 n +0002827903 00000 n +0002828060 00000 n +0000265628 00000 n +0000236302 00000 n +0002828184 00000 n +0002828341 00000 n +0000265846 00000 n +0000236348 00000 n +0002828465 00000 n +0002828575 00000 n +0002828685 00000 n +0002828823 00000 n +0002828933 00000 n +0002829043 00000 n +0002829181 00000 n +0002829291 00000 n +0002829427 00000 n +0002829582 00000 n +0002829675 00000 n +0002829787 00000 n +0002829873 00000 n +0000266377 00000 n +0000265429 00000 n +0000236394 00000 n +0000266062 00000 n +0000265591 00000 n +0002829986 00000 n +0002830079 00000 n +0002830191 00000 n +0002830277 00000 n +0002830390 00000 n +0002830483 00000 n +0002830595 00000 n +0002830681 00000 n +0002830875 00000 n +0000311052 00000 n +0000266511 00000 n +0002830998 00000 n +0002831091 00000 n +0002831204 00000 n +0002831290 00000 n +0002831404 00000 n +0002831497 00000 n +0002831610 00000 n +0002831696 00000 n +0002831810 00000 n +0002831903 00000 n +0002832016 00000 n +0002832102 00000 n +0002832216 00000 n +0002832309 00000 n +0002832422 00000 n +0002832508 00000 n +0002832622 00000 n +0002832715 00000 n +0002832828 00000 n +0002832914 00000 n +0002833028 00000 n +0002833121 00000 n +0002833234 00000 n +0002833320 00000 n +0002833434 00000 n +0002833527 00000 n +0002833640 00000 n +0002833726 00000 n +0002833840 00000 n +0002833978 00000 n +0002834088 00000 n +0002834198 00000 n +0000311460 00000 n +0000310861 00000 n +0000266557 00000 n +0000311271 00000 n +0000311023 00000 n +0002834345 00000 n +0002834454 00000 n +0000311594 00000 n +0000329684 00000 n +0002834636 00000 n +0002834772 00000 n +0002834861 00000 n +0002834971 00000 n +0002835080 00000 n +0002835189 00000 n +0002835298 00000 n +0002835408 00000 n +0002835544 00000 n +0001560448 00000 n +0000329538 00000 n +0000311645 00000 n +0001560259 00000 n +0001560385 00000 n +0002835653 00000 n +0002835762 00000 n +0002835871 00000 n +0002835980 00000 n +0002836089 00000 n +0002836225 00000 n +0002836335 00000 n +0002836445 00000 n +0002836555 00000 n +0002836750 00000 n +0002836843 00000 n +0002836956 00000 n +0002837042 00000 n +0002837156 00000 n +0002837249 00000 n +0002837362 00000 n +0002837448 00000 n +0002837562 00000 n +0002837655 00000 n +0002837768 00000 n +0002837854 00000 n +0002837968 00000 n +0002838061 00000 n +0002838174 00000 n +0002838260 00000 n +0002838374 00000 n +0002838467 00000 n +0002838580 00000 n +0002838666 00000 n +0002838780 00000 n +0002838873 00000 n +0002838986 00000 n +0002839072 00000 n +0002839231 00000 n +0001596564 00000 n +0001560610 00000 n +0002839355 00000 n +0002839448 00000 n +0002839561 00000 n +0002839647 00000 n +0002839806 00000 n +0001596773 00000 n +0001560656 00000 n +0002839930 00000 n +0002840023 00000 n +0002840136 00000 n +0002840222 00000 n +0002840336 00000 n +0002840429 00000 n +0002840541 00000 n +0002840627 00000 n +0002840784 00000 n +0001632312 00000 n +0001560702 00000 n +0001597234 00000 n +0001596365 00000 n +0001560748 00000 n +0001596982 00000 n +0001597171 00000 n +0002935673 00000 n +0001596527 00000 n +0002840907 00000 n +0002841000 00000 n +0002841112 00000 n +0002841198 00000 n +0002841347 00000 n +0002841440 00000 n +0002841552 00000 n +0002841638 00000 n +0002841751 00000 n +0002841844 00000 n +0002841956 00000 n +0002842042 00000 n +0002842156 00000 n +0002842249 00000 n +0002842362 00000 n +0002842448 00000 n +0002842562 00000 n +0002842655 00000 n +0002842768 00000 n +0002842854 00000 n +0002843050 00000 n +0001632531 00000 n +0001597420 00000 n +0002843174 00000 n +0002843267 00000 n +0002843380 00000 n +0002843466 00000 n +0002843580 00000 n +0002843718 00000 n +0002843866 00000 n +0002843978 00000 n +0001633688 00000 n +0001632112 00000 n +0001597466 00000 n +0001632745 00000 n +0001632871 00000 n +0001632933 00000 n +0001632995 00000 n +0001633058 00000 n +0001633121 00000 n +0001633184 00000 n +0001633247 00000 n +0001633310 00000 n +0001633373 00000 n +0001633436 00000 n +0001633499 00000 n +0001633562 00000 n +0001633625 00000 n +0003003235 00000 n +0001632275 00000 n +0002844087 00000 n +0002844196 00000 n +0002844332 00000 n +0002844441 00000 n +0002844540 00000 n +0002844633 00000 n +0002844745 00000 n +0002844831 00000 n +0002844980 00000 n +0002845073 00000 n +0002845185 00000 n +0002845271 00000 n +0002845421 00000 n +0002845514 00000 n +0002845627 00000 n +0002845713 00000 n +0002845864 00000 n +0002845953 00000 n +0002846063 00000 n +0002846389 00000 n +0002846478 00000 n +0002846588 00000 n +0002846826 00000 n +0002847021 00000 n +0002847131 00000 n +0002847269 00000 n +0002847379 00000 n +0002847478 00000 n +0002847571 00000 n +0002847683 00000 n +0002847779 00000 n +0001681569 00000 n +0001681044 00000 n +0001633835 00000 n +0001681191 00000 n +0001681317 00000 n +0001681380 00000 n +0001681443 00000 n +0002847892 00000 n +0002848005 00000 n +0002848098 00000 n +0002848211 00000 n +0002848307 00000 n +0002848421 00000 n +0002848534 00000 n +0002848627 00000 n +0002848740 00000 n +0002848860 00000 n +0001707974 00000 n +0001707192 00000 n +0001681703 00000 n +0001707339 00000 n +0001707402 00000 n +0001707464 00000 n +0001707527 00000 n +0001707591 00000 n +0001707655 00000 n +0001707719 00000 n +0001707782 00000 n +0001707846 00000 n +0001707910 00000 n +0002849045 00000 n +0002849155 00000 n +0002849267 00000 n +0002849377 00000 n +0002849487 00000 n +0002849596 00000 n +0002849707 00000 n +0002849816 00000 n +0002849955 00000 n +0002850048 00000 n +0002850160 00000 n +0002850264 00000 n +0002850377 00000 n +0002850490 00000 n +0002850601 00000 n +0002850694 00000 n +0002850807 00000 n +0002850893 00000 n +0002851007 00000 n +0002851100 00000 n +0002851213 00000 n +0002851299 00000 n +0002851413 00000 n +0002851506 00000 n +0002851619 00000 n +0002851705 00000 n +0002851819 00000 n +0002851912 00000 n +0002852024 00000 n +0002852110 00000 n +0001745059 00000 n +0001743837 00000 n +0001708095 00000 n +0001743984 00000 n +0001744047 00000 n +0001744110 00000 n +0001744174 00000 n +0001744238 00000 n +0001744302 00000 n +0001744365 00000 n +0001744428 00000 n +0001744491 00000 n +0001744554 00000 n +0001744617 00000 n +0001744680 00000 n +0001744744 00000 n +0001744807 00000 n +0001744870 00000 n +0001744933 00000 n +0001744996 00000 n +0002933232 00000 n +0002852223 00000 n +0002852316 00000 n +0002852428 00000 n +0002852524 00000 n +0002852637 00000 n +0002852747 00000 n +0002852840 00000 n +0002852952 00000 n +0002853038 00000 n +0002853151 00000 n +0002853244 00000 n +0002853356 00000 n +0002853442 00000 n +0002853600 00000 n +0001793964 00000 n +0001745193 00000 n +0002853723 00000 n +0002853861 00000 n +0002853971 00000 n +0002854081 00000 n +0002854188 00000 n +0002854281 00000 n +0002854394 00000 n +0002854480 00000 n +0002854594 00000 n +0002854687 00000 n +0002854800 00000 n +0002854886 00000 n +0002855000 00000 n +0002855093 00000 n +0002855206 00000 n +0002855292 00000 n +0002855406 00000 n +0002855499 00000 n +0002855612 00000 n +0002855698 00000 n +0001794750 00000 n +0001793772 00000 n +0001745239 00000 n +0001794184 00000 n +0001794247 00000 n +0001794310 00000 n +0001794373 00000 n +0001794436 00000 n +0001794562 00000 n +0001794625 00000 n +0001794688 00000 n +0001793935 00000 n +0002855812 00000 n +0002855950 00000 n +0002856144 00000 n +0001839247 00000 n +0001794884 00000 n +0002856268 00000 n +0002856378 00000 n +0002856489 00000 n +0002856600 00000 n +0002856711 00000 n +0002856866 00000 n +0002856959 00000 n +0002857073 00000 n +0002857159 00000 n +0002857320 00000 n +0001839464 00000 n +0001794930 00000 n +0002857446 00000 n +0002857542 00000 n +0002857658 00000 n +0002857776 00000 n +0002857893 00000 n +0002858007 00000 n +0002858121 00000 n +0002858322 00000 n +0001839675 00000 n +0001794978 00000 n +0002858450 00000 n +0002858546 00000 n +0002858662 00000 n +0002858751 00000 n +0002858868 00000 n +0002858964 00000 n +0002859080 00000 n +0002859169 00000 n +0002859286 00000 n +0002859382 00000 n +0002859497 00000 n +0002859586 00000 n +0002859748 00000 n +0001882631 00000 n +0001795026 00000 n +0002859875 00000 n +0002859971 00000 n +0002860086 00000 n +0002860186 00000 n +0002860348 00000 n +0001882841 00000 n +0001795074 00000 n +0001840215 00000 n +0001839032 00000 n +0001795122 00000 n +0001839891 00000 n +0001839956 00000 n +0001840085 00000 n +0001840150 00000 n +0001839199 00000 n +0002860475 00000 n +0002860590 00000 n +0002860686 00000 n +0002860801 00000 n +0002860890 00000 n +0002861054 00000 n +0001883052 00000 n +0001840389 00000 n +0002861182 00000 n +0002861278 00000 n +0002861394 00000 n +0002861494 00000 n +0002861658 00000 n +0001883262 00000 n +0001840437 00000 n +0002861786 00000 n +0002861902 00000 n +0002861998 00000 n +0002862114 00000 n +0002862203 00000 n +0002862320 00000 n +0002862432 00000 n +0002862544 00000 n +0002862656 00000 n +0002862768 00000 n +0002862880 00000 n +0002862992 00000 n +0002863104 00000 n +0002863216 00000 n +0001884321 00000 n +0001882406 00000 n +0001840485 00000 n +0001883472 00000 n +0001883537 00000 n +0001883602 00000 n +0001883668 00000 n +0001883734 00000 n +0001883799 00000 n +0001883865 00000 n +0001883931 00000 n +0001883996 00000 n +0001884061 00000 n +0001884126 00000 n +0001884191 00000 n +0001884256 00000 n +0001882573 00000 n +0002863327 00000 n +0002863439 00000 n +0002863551 00000 n +0002863663 00000 n +0002863775 00000 n +0002863887 00000 n +0002863999 00000 n +0002864111 00000 n +0002864252 00000 n +0002864404 00000 n +0002864516 00000 n +0001919949 00000 n +0001918631 00000 n +0001884495 00000 n +0001918781 00000 n +0001918846 00000 n +0001918911 00000 n +0001918976 00000 n +0001919105 00000 n +0001919170 00000 n +0001919235 00000 n +0001919300 00000 n +0001919364 00000 n +0001919429 00000 n +0001919494 00000 n +0001919559 00000 n +0001919624 00000 n +0001919689 00000 n +0001919754 00000 n +0001919819 00000 n +0001919884 00000 n +0002865400 00000 n +0002865511 00000 n +0002865622 00000 n +0002865735 00000 n +0002865846 00000 n +0001939959 00000 n +0002866070 00000 n +0002866180 00000 n +0002866318 00000 n +0002866438 00000 n +0002866535 00000 n +0002866651 00000 n +0002866740 00000 n +0002866857 00000 n +0002866954 00000 n +0002867069 00000 n +0002867158 00000 n +0002088799 00000 n +0001939809 00000 n +0001920097 00000 n +0002087502 00000 n +0002087567 00000 n +0002087632 00000 n +0002087697 00000 n +0002087762 00000 n +0002087827 00000 n +0002087892 00000 n +0002087957 00000 n +0002088022 00000 n +0002088087 00000 n +0002088152 00000 n +0002088217 00000 n +0002088281 00000 n +0002088345 00000 n +0002088410 00000 n +0002088475 00000 n +0002088540 00000 n +0002088605 00000 n +0002088670 00000 n +0002867274 00000 n +0002867371 00000 n +0002867486 00000 n +0002867575 00000 n +0002867691 00000 n +0002867788 00000 n +0002867903 00000 n +0002867992 00000 n +0002868108 00000 n +0002868205 00000 n +0002868320 00000 n +0002868409 00000 n +0002868525 00000 n +0002868828 00000 n +0002868944 00000 n +0002869084 00000 n +0002869195 00000 n +0002869391 00000 n +0002121348 00000 n +0002088963 00000 n +0002123180 00000 n +0002121150 00000 n +0002089011 00000 n +0002121558 00000 n +0002121623 00000 n +0002121688 00000 n +0002121753 00000 n +0002121818 00000 n +0002121883 00000 n +0002121948 00000 n +0002122013 00000 n +0002122078 00000 n +0002122142 00000 n +0002122206 00000 n +0002122271 00000 n +0002122336 00000 n +0002122401 00000 n +0002122466 00000 n +0002122531 00000 n +0002122596 00000 n +0002122661 00000 n +0002122726 00000 n +0002122791 00000 n +0002122856 00000 n +0002122921 00000 n +0002122985 00000 n +0002123050 00000 n +0002121317 00000 n +0002869519 00000 n +0002869630 00000 n +0002869741 00000 n +0002869852 00000 n +0002869963 00000 n +0002870074 00000 n +0002870185 00000 n +0002870296 00000 n +0002870407 00000 n +0002870518 00000 n +0002158936 00000 n +0002157552 00000 n +0002123315 00000 n +0002157703 00000 n +0002157768 00000 n +0002157833 00000 n +0002157898 00000 n +0002157963 00000 n +0002158028 00000 n +0002158093 00000 n +0002158157 00000 n +0002158222 00000 n +0002158287 00000 n +0002158352 00000 n +0002158417 00000 n +0002158482 00000 n +0002158547 00000 n +0002158612 00000 n +0002158677 00000 n +0002158742 00000 n +0002158807 00000 n +0002158872 00000 n +0003003393 00000 n +0002871402 00000 n +0002871542 00000 n +0002871653 00000 n +0002871766 00000 n +0002871877 00000 n +0002871988 00000 n +0002872148 00000 n +0002193913 00000 n +0002159071 00000 n +0002872276 00000 n +0002872416 00000 n +0002872567 00000 n +0002872678 00000 n +0002872789 00000 n +0002194837 00000 n +0002193714 00000 n +0002159119 00000 n +0002194124 00000 n +0002194189 00000 n +0002194254 00000 n +0002194383 00000 n +0002194448 00000 n +0002194513 00000 n +0002194578 00000 n +0002194643 00000 n +0002194708 00000 n +0002193882 00000 n +0002873779 00000 n +0002873917 00000 n +0002874027 00000 n +0002874138 00000 n +0002874249 00000 n +0002874360 00000 n +0002874500 00000 n +0002874611 00000 n +0002874751 00000 n +0002874911 00000 n +0002227370 00000 n +0002194972 00000 n +0002875039 00000 n +0002228875 00000 n +0002227171 00000 n +0002195020 00000 n +0002227581 00000 n +0002227646 00000 n +0002227711 00000 n +0002227776 00000 n +0002227841 00000 n +0002227906 00000 n +0002227971 00000 n +0002228036 00000 n +0002228101 00000 n +0002228166 00000 n +0002228295 00000 n +0002228360 00000 n +0002228551 00000 n +0002228616 00000 n +0002228681 00000 n +0002228746 00000 n +0002228811 00000 n +0002227339 00000 n +0002875152 00000 n +0002875290 00000 n +0002875400 00000 n +0002875512 00000 n +0002875622 00000 n +0002875732 00000 n +0002875844 00000 n +0002875954 00000 n +0002876092 00000 n +0002876203 00000 n +0002876314 00000 n +0002876425 00000 n +0002876536 00000 n +0002876647 00000 n +0002876875 00000 n +0002876972 00000 n +0002877088 00000 n +0002877177 00000 n +0002877341 00000 n +0002258195 00000 n +0002229010 00000 n +0002877469 00000 n +0002877566 00000 n +0002877681 00000 n +0002877770 00000 n +0002259638 00000 n +0002257996 00000 n +0002229058 00000 n +0002258406 00000 n +0002258535 00000 n +0002258600 00000 n +0002258665 00000 n +0002258730 00000 n +0002258795 00000 n +0002258860 00000 n +0002258925 00000 n +0002258990 00000 n +0002259055 00000 n +0002259120 00000 n +0002259185 00000 n +0002259250 00000 n +0002259314 00000 n +0002259379 00000 n +0002259508 00000 n +0002259573 00000 n +0002258164 00000 n +0002877886 00000 n +0002877983 00000 n +0002878098 00000 n +0002878187 00000 n +0002878303 00000 n +0002878400 00000 n +0002878515 00000 n +0002878604 00000 n +0002878766 00000 n +0002297678 00000 n +0002259786 00000 n +0002878893 00000 n +0002878990 00000 n +0002879105 00000 n +0002879214 00000 n +0002879377 00000 n +0002297889 00000 n +0002259834 00000 n +0002879505 00000 n +0002879621 00000 n +0002879735 00000 n +0002879832 00000 n +0002879948 00000 n +0002880037 00000 n +0002880201 00000 n +0002298100 00000 n +0002259882 00000 n +0002880329 00000 n +0002880426 00000 n +0002880542 00000 n +0002880651 00000 n +0002880815 00000 n +0002298309 00000 n +0002259930 00000 n +0002880943 00000 n +0002881059 00000 n +0002881173 00000 n +0002881270 00000 n +0002881386 00000 n +0002881495 00000 n +0002881612 00000 n +0002881728 00000 n +0002881891 00000 n +0002298520 00000 n +0002259978 00000 n +0002882019 00000 n +0002882116 00000 n +0002882232 00000 n +0002882341 00000 n +0002882458 00000 n +0002882574 00000 n +0002882737 00000 n +0002298741 00000 n +0002260026 00000 n +0002882865 00000 n +0002882962 00000 n +0002883078 00000 n +0002883167 00000 n +0002883284 00000 n +0002883381 00000 n +0002883497 00000 n +0002883586 00000 n +0002883703 00000 n +0002883800 00000 n +0002883915 00000 n +0002884024 00000 n +0002299682 00000 n +0002297434 00000 n +0002260074 00000 n +0002298962 00000 n +0002299027 00000 n +0002299092 00000 n +0002299158 00000 n +0002299223 00000 n +0002299288 00000 n +0002299354 00000 n +0002299420 00000 n +0002299485 00000 n +0002299551 00000 n +0002299616 00000 n +0002297602 00000 n +0002884140 00000 n +0002884255 00000 n +0002884368 00000 n +0002884465 00000 n +0002884580 00000 n +0002884680 00000 n +0002884796 00000 n +0002884911 00000 n +0002885008 00000 n +0002885123 00000 n +0002885212 00000 n +0002885328 00000 n +0002885425 00000 n +0002885540 00000 n +0002885629 00000 n +0002885746 00000 n +0002885843 00000 n +0002885959 00000 n +0002886048 00000 n +0002886165 00000 n +0002886262 00000 n +0002886378 00000 n +0002886467 00000 n +0002886584 00000 n +0002886695 00000 n +0002886806 00000 n +0002886917 00000 n +0002887028 00000 n +0002887139 00000 n +0002887250 00000 n +0002887390 00000 n +0002887501 00000 n +0002887639 00000 n +0002338746 00000 n +0002337812 00000 n +0002299830 00000 n +0002337963 00000 n +0002338028 00000 n +0002338093 00000 n +0002338159 00000 n +0002338225 00000 n +0002338291 00000 n +0002338356 00000 n +0002338422 00000 n +0002338487 00000 n +0002338552 00000 n +0002338617 00000 n +0002887749 00000 n +0002887861 00000 n +0002887971 00000 n +0002888081 00000 n +0002888193 00000 n +0002888303 00000 n +0002888413 00000 n +0002888523 00000 n +0002888636 00000 n +0002888776 00000 n +0002888887 00000 n +0002888998 00000 n +0002369119 00000 n +0002367739 00000 n +0002338894 00000 n +0002367890 00000 n +0002368019 00000 n +0002368084 00000 n +0002368149 00000 n +0002368214 00000 n +0002368279 00000 n +0002368344 00000 n +0002368408 00000 n +0002368473 00000 n +0002368538 00000 n +0002368603 00000 n +0002368668 00000 n +0002368732 00000 n +0002368796 00000 n +0002368861 00000 n +0002368926 00000 n +0002369055 00000 n +0002889108 00000 n +0002889248 00000 n +0002889359 00000 n +0002387953 00000 n +0002385401 00000 n +0002369254 00000 n +0002385552 00000 n +0002385681 00000 n +0002385746 00000 n +0002385811 00000 n +0002385876 00000 n +0002385941 00000 n +0002386006 00000 n +0002386071 00000 n +0002386136 00000 n +0002386201 00000 n +0002386266 00000 n +0002386330 00000 n +0002386395 00000 n +0002386460 00000 n +0002386525 00000 n +0002386590 00000 n +0002386655 00000 n +0002386720 00000 n +0002386785 00000 n +0002386850 00000 n +0002386915 00000 n +0002386980 00000 n +0002387045 00000 n +0002387109 00000 n +0002387174 00000 n +0002387239 00000 n +0002387304 00000 n +0002387369 00000 n +0002387434 00000 n +0002387499 00000 n +0002387564 00000 n +0002387629 00000 n +0002387694 00000 n +0002387759 00000 n +0002387824 00000 n +0002387889 00000 n +0002891048 00000 n +0002891188 00000 n +0002891348 00000 n +0002416126 00000 n +0002388075 00000 n +0002891476 00000 n +0002891587 00000 n +0002891698 00000 n +0002891838 00000 n +0002891949 00000 n +0002892062 00000 n +0002892173 00000 n +0002892311 00000 n +0002417633 00000 n +0002415927 00000 n +0002388123 00000 n +0002416336 00000 n +0002416401 00000 n +0002416466 00000 n +0002416531 00000 n +0002416596 00000 n +0002416661 00000 n +0002416726 00000 n +0002416791 00000 n +0002416856 00000 n +0002416921 00000 n +0002416986 00000 n +0002417050 00000 n +0002417115 00000 n +0002417180 00000 n +0002417373 00000 n +0002417438 00000 n +0002417503 00000 n +0002417568 00000 n +0002416095 00000 n +0002892421 00000 n +0002892531 00000 n +0002892641 00000 n +0002892751 00000 n +0002892862 00000 n +0002892959 00000 n +0002893074 00000 n +0002893163 00000 n +0002893279 00000 n +0002893376 00000 n +0002893491 00000 n +0002893580 00000 n +0002893696 00000 n +0002893793 00000 n +0002893909 00000 n +0002893998 00000 n +0002894115 00000 n +0002894212 00000 n +0002894328 00000 n +0002894417 00000 n +0002894534 00000 n +0002894674 00000 n +0002894785 00000 n +0002894896 00000 n +0002895009 00000 n +0002895120 00000 n +0002895231 00000 n +0002895333 00000 n +0002895430 00000 n +0002895545 00000 n +0002895634 00000 n +0002456156 00000 n +0002455682 00000 n +0002417768 00000 n +0002455833 00000 n +0002456026 00000 n +0002456091 00000 n +0002895750 00000 n +0002895847 00000 n +0002895962 00000 n +0002896051 00000 n +0002896167 00000 n +0002896264 00000 n +0002896379 00000 n +0002896468 00000 n +0002896584 00000 n +0002896694 00000 n +0002897177 00000 n +0002897274 00000 n +0002897389 00000 n +0002897478 00000 n +0002897594 00000 n +0002897691 00000 n +0002897806 00000 n +0002897895 00000 n +0002898012 00000 n +0002898109 00000 n +0002898225 00000 n +0002898314 00000 n +0002898431 00000 n +0002898528 00000 n +0002898644 00000 n +0002898733 00000 n +0002898850 00000 n +0002898947 00000 n +0002899063 00000 n +0002899152 00000 n +0002899278 00000 n +0002899394 00000 n +0002506540 00000 n +0002505932 00000 n +0002456304 00000 n +0002506083 00000 n +0002506148 00000 n +0002506213 00000 n +0002506278 00000 n +0002506343 00000 n +0002506408 00000 n +0002506474 00000 n +0003003557 00000 n +0002899507 00000 n +0002899648 00000 n +0002899761 00000 n +0002899874 00000 n +0002899987 00000 n +0002900100 00000 n +0002900213 00000 n +0002900326 00000 n +0002900440 00000 n +0002900554 00000 n +0002900697 00000 n +0002900811 00000 n +0002900934 00000 n +0002901031 00000 n +0002901146 00000 n +0002901235 00000 n +0002549899 00000 n +0002549490 00000 n +0002506662 00000 n +0002549641 00000 n +0002549770 00000 n +0002901351 00000 n +0002901448 00000 n +0002901563 00000 n +0002901672 00000 n +0002901788 00000 n +0002901942 00000 n +0002902055 00000 n +0002902152 00000 n +0002902267 00000 n +0002902356 00000 n +0002902472 00000 n +0002902569 00000 n +0002902684 00000 n +0002902773 00000 n +0002902937 00000 n +0002587116 00000 n +0002550047 00000 n +0002903065 00000 n +0002903162 00000 n +0002903278 00000 n +0002903367 00000 n +0002903484 00000 n +0002903598 00000 n +0002903741 00000 n +0002903855 00000 n +0002903969 00000 n +0002904083 00000 n +0002904188 00000 n +0002904285 00000 n +0002904401 00000 n +0002904490 00000 n +0002904607 00000 n +0002904704 00000 n +0002904820 00000 n +0002904909 00000 n +0002905026 00000 n +0002905123 00000 n +0002905239 00000 n +0002905328 00000 n +0002905445 00000 n +0002905586 00000 n +0002905853 00000 n +0002905950 00000 n +0002906065 00000 n +0002906154 00000 n +0002587518 00000 n +0002586917 00000 n +0002550095 00000 n +0002587325 00000 n +0002587453 00000 n +0002587085 00000 n +0002906270 00000 n +0002906367 00000 n +0002906482 00000 n +0002906571 00000 n +0002906687 00000 n +0002906784 00000 n +0002906899 00000 n +0002906988 00000 n +0002907104 00000 n +0002907201 00000 n +0002907316 00000 n +0002907405 00000 n +0002907568 00000 n +0002606554 00000 n +0002587679 00000 n +0002907696 00000 n +0002907793 00000 n +0002907909 00000 n +0002907998 00000 n +0002908115 00000 n +0002908212 00000 n +0002908328 00000 n +0002908417 00000 n +0002908534 00000 n +0002908631 00000 n +0002908747 00000 n +0002908836 00000 n +0002908953 00000 n +0002909050 00000 n +0002909166 00000 n +0002909255 00000 n +0002909372 00000 n +0002909469 00000 n +0002909585 00000 n +0002909674 00000 n +0002909791 00000 n +0002909888 00000 n +0002910004 00000 n +0002910093 00000 n +0002910210 00000 n +0002910307 00000 n +0002910423 00000 n +0002910512 00000 n +0002910629 00000 n +0002910726 00000 n +0002910842 00000 n +0002910931 00000 n +0002911048 00000 n +0002911145 00000 n +0002911261 00000 n +0002911350 00000 n +0002911467 00000 n +0002911564 00000 n +0002911680 00000 n +0002911769 00000 n +0002911886 00000 n +0002911983 00000 n +0002912099 00000 n +0002912188 00000 n +0002912305 00000 n +0002912402 00000 n +0002912518 00000 n +0002912607 00000 n +0002912724 00000 n +0002912821 00000 n +0002912937 00000 n +0002913026 00000 n +0002913143 00000 n +0002913240 00000 n +0002913356 00000 n +0002913445 00000 n +0002913562 00000 n +0002913659 00000 n +0002913775 00000 n +0002913864 00000 n +0002913981 00000 n +0002914078 00000 n +0002914194 00000 n +0002914283 00000 n +0002914400 00000 n +0002914497 00000 n +0002914613 00000 n +0002914702 00000 n +0002914819 00000 n +0002914924 00000 n +0002915013 00000 n +0002915180 00000 n +0002652393 00000 n +0002587727 00000 n +0002915307 00000 n +0002915396 00000 n +0002915563 00000 n +0002652978 00000 n +0002587775 00000 n +0002915690 00000 n +0002915779 00000 n +0002915946 00000 n +0002653561 00000 n +0002587823 00000 n +0002916073 00000 n +0002916162 00000 n +0002916331 00000 n +0002653796 00000 n +0002587871 00000 n +0002606904 00000 n +0002606355 00000 n +0002587919 00000 n +0002606775 00000 n +0002606523 00000 n +0002916459 00000 n +0002916548 00000 n +0002916717 00000 n +0002654344 00000 n +0002607026 00000 n +0002916845 00000 n +0002916934 00000 n +0002917103 00000 n +0002654847 00000 n +0002607074 00000 n +0002917231 00000 n +0002917320 00000 n +0002917489 00000 n +0002655084 00000 n +0002607122 00000 n +0002917617 00000 n +0002917760 00000 n +0002917874 00000 n +0002918024 00000 n +0002918121 00000 n +0002918237 00000 n +0002918337 00000 n +0002918454 00000 n +0002918725 00000 n +0002918822 00000 n +0002918938 00000 n +0002919038 00000 n +0002919155 00000 n +0002919269 00000 n +0002919366 00000 n +0002919481 00000 n +0002919599 00000 n +0002655937 00000 n +0002652095 00000 n +0002607170 00000 n +0002655679 00000 n +0002655808 00000 n +0002652686 00000 n +0002653269 00000 n +0002654068 00000 n +0002654596 00000 n +0002655382 00000 n +0002652263 00000 n +0002919716 00000 n +0002919830 00000 n +0002919944 00000 n +0002920058 00000 n +0002920155 00000 n +0002920271 00000 n +0002920380 00000 n +0002920497 00000 n +0002920611 00000 n +0002920838 00000 n +0002920935 00000 n +0002921051 00000 n +0002921160 00000 n +0002921277 00000 n +0002921391 00000 n +0002921507 00000 n +0002921604 00000 n +0002921720 00000 n +0002921809 00000 n +0002921926 00000 n +0002922023 00000 n +0002922139 00000 n +0002922257 00000 n +0002922374 00000 n +0002922488 00000 n +0002697237 00000 n +0002696494 00000 n +0002656085 00000 n +0002696645 00000 n +0002696710 00000 n +0002696775 00000 n +0002696841 00000 n +0002696907 00000 n +0002696973 00000 n +0002697039 00000 n +0002697105 00000 n +0002697171 00000 n +0002924587 00000 n +0002924701 00000 n +0002924798 00000 n +0002924914 00000 n +0002925023 00000 n +0002925140 00000 n +0002925256 00000 n +0002714969 00000 n +0002712843 00000 n +0002697547 00000 n +0002712994 00000 n +0002713059 00000 n +0002713124 00000 n +0002713190 00000 n +0002713256 00000 n +0002713322 00000 n +0002713388 00000 n +0002713454 00000 n +0002713520 00000 n +0002713586 00000 n +0002713652 00000 n +0002713718 00000 n +0002713783 00000 n +0002713849 00000 n +0002713915 00000 n +0002713981 00000 n +0002714047 00000 n +0002714113 00000 n +0002714179 00000 n +0002714245 00000 n +0002714311 00000 n +0002714377 00000 n +0002714442 00000 n +0002714508 00000 n +0002714574 00000 n +0002714640 00000 n +0002714705 00000 n +0002714771 00000 n +0002714837 00000 n +0002714903 00000 n +0002715104 00000 n +0002759609 00000 n +0002759647 00000 n +0002759694 00000 n +0003008758 00000 n +0002759742 00000 n +0002759891 00000 n +0003008659 00000 n +0002759939 00000 n +0002760144 00000 n +0003008518 00000 n +0002760192 00000 n +0002760282 00000 n +0003008434 00000 n +0002760335 00000 n +0002760496 00000 n +0003008335 00000 n +0002760549 00000 n +0002760670 00000 n +0003008236 00000 n +0002760723 00000 n +0002760930 00000 n +0003008137 00000 n +0002760983 00000 n +0002761063 00000 n +0003008038 00000 n +0002761116 00000 n +0002761229 00000 n +0003007939 00000 n +0002761282 00000 n +0002761388 00000 n +0003007840 00000 n +0002761441 00000 n +0002761547 00000 n +0003007741 00000 n +0002761600 00000 n +0002761706 00000 n +0003007642 00000 n +0002761759 00000 n +0002761913 00000 n +0003007543 00000 n +0002761967 00000 n +0002762116 00000 n +0003007444 00000 n +0002762170 00000 n +0002762324 00000 n +0003007345 00000 n +0002762378 00000 n +0002762532 00000 n +0003007246 00000 n +0002762586 00000 n +0002762740 00000 n +0003007147 00000 n +0002762794 00000 n +0002762943 00000 n +0003007063 00000 n +0002762997 00000 n +0002763336 00000 n +0003006923 00000 n +0002763384 00000 n +0002763439 00000 n +0003006839 00000 n +0002763492 00000 n +0002763656 00000 n +0003006755 00000 n +0002763709 00000 n +0002763845 00000 n +0003006615 00000 n +0002763893 00000 n +0002763958 00000 n +0003006531 00000 n +0002764011 00000 n +0002764099 00000 n +0003006391 00000 n +0002764152 00000 n +0002764445 00000 n +0003006307 00000 n +0002764503 00000 n +0002764769 00000 n +0003006208 00000 n +0002764827 00000 n +0002765047 00000 n +0003006109 00000 n +0002765105 00000 n +0002765425 00000 n +0003006010 00000 n +0002765483 00000 n +0002765533 00000 n +0003005911 00000 n +0002765591 00000 n +0002765765 00000 n +0003005812 00000 n +0002765823 00000 n +0002765873 00000 n +0003005713 00000 n +0002765931 00000 n +0002766044 00000 n +0003005629 00000 n +0002766102 00000 n +0002766296 00000 n +0003005489 00000 n +0002766349 00000 n +0002766536 00000 n +0003005405 00000 n +0002766594 00000 n +0002766702 00000 n +0003005306 00000 n +0002766760 00000 n +0002766840 00000 n +0003005207 00000 n +0002766898 00000 n +0002767100 00000 n +0003005108 00000 n +0002767158 00000 n +0002767261 00000 n +0003005024 00000 n +0002767319 00000 n +0002767518 00000 n +0003004925 00000 n +0002767571 00000 n +0002767725 00000 n +0003004826 00000 n +0002767778 00000 n +0002767978 00000 n +0003004727 00000 n +0002768031 00000 n +0002768200 00000 n +0003004643 00000 n +0002768253 00000 n +0002768422 00000 n +0003004544 00000 n +0002768470 00000 n +0002768795 00000 n +0003004445 00000 n +0002768843 00000 n +0002769020 00000 n +0003004346 00000 n +0002769068 00000 n +0002769199 00000 n +0003004247 00000 n +0002769247 00000 n +0002769454 00000 n +0003004148 00000 n +0002769503 00000 n +0002769578 00000 n +0003004049 00000 n +0002769627 00000 n +0002769682 00000 n +0003003950 00000 n +0002769732 00000 n +0002769812 00000 n +0003003866 00000 n +0002769861 00000 n +0002926803 00000 n +0002931746 00000 n +0002927130 00000 n +0002931969 00000 n +0002933389 00000 n +0002933593 00000 n +0002934615 00000 n +0002933656 00000 n +0002934847 00000 n +0002935838 00000 n +0002936050 00000 n +0002940150 00000 n +0002936260 00000 n +0002940372 00000 n +0002941652 00000 n +0002941856 00000 n +0002944982 00000 n +0002942180 00000 n +0002945206 00000 n +0002946524 00000 n +0002946729 00000 n +0002947355 00000 n +0002946763 00000 n +0002947580 00000 n +0002948493 00000 n +0002948699 00000 n +0002958229 00000 n +0002949140 00000 n +0002958453 00000 n +0002960453 00000 n +0002960658 00000 n +0002968460 00000 n +0002961042 00000 n +0002968686 00000 n +0002970430 00000 n +0002970636 00000 n +0002981768 00000 n +0002971161 00000 n +0002981993 00000 n +0002984207 00000 n +0002984414 00000 n +0002990375 00000 n +0002984777 00000 n +0002990598 00000 n +0002992144 00000 n +0002992348 00000 n +0003000851 00000 n +0002992812 00000 n +0003001073 00000 n +0003002881 00000 n +0003003693 00000 n +0003003785 00000 n +0003008842 00000 n +0003009575 00000 n +0003010469 00000 n +0003011426 00000 n +0003012381 00000 n +0003013322 00000 n +0003014287 00000 n +0003015256 00000 n +0003016206 00000 n +0003017124 00000 n +0003017815 00000 n +0003018569 00000 n +0003019384 00000 n +0003020060 00000 n +0003020257 00000 n +0003020297 00000 n +0003020564 00000 n trailer -<< /Size 2186 /Root 2184 0 R /Info 2185 0 R /ID [ <7F6C68BC76230339F7FC90F7FB43D5B8> <7F6C68BC76230339F7FC90F7FB43D5B8> ] >> +<< /Size 2186 /Root 2184 0 R /Info 2185 0 R /ID [ <17B6E6650863BE879E6718A46DCD05CA> <17B6E6650863BE879E6718A46DCD05CA> ] >> startxref -3021046 +3021055 %%EOF diff --git a/macros/latex/contrib/tagpdf/tagpdf.tex b/macros/latex/contrib/tagpdf/tagpdf.tex index 4e9d37cbc0..fe9f243d38 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.tex +++ b/macros/latex/contrib/tagpdf/tagpdf.tex @@ -1,11 +1,12 @@ % !Mode:: "TeX:DE:UTF-8:Main" +%\PassOptionsToPackage{check-declarations,enable-debug}{expl3} \RequirePackage{pdfmanagement-testphase} \DeclareDocumentMetadata{pdfversion=2.0,lang=en-UK} \makeatletter -\def\UlrikeFischer@package@version{0.9} -\def\UlrikeFischer@package@date{2021-06-29} +\def\UlrikeFischer@package@version{0.91} +\def\UlrikeFischer@package@date{2021-07-03} \makeatother \documentclass[DIV=12,parskip=half-,bibliography=totoc]{scrartcl} @@ -1079,10 +1080,10 @@ Another feature that emerged from the \LaTeX{} tagged PDF project are hooks at t \pkg{tagpdf} makes use of these hooks to tag paragraphs. This can be activated/deactivated (also locally) with options of \cs{tagpdfsetup} or with the two commands above. \emph{This is very experimental and it requires a new \LaTeX!} -The automatic tagging require that for every begin of a paragraph with the begin hook code +The automatic tagging require that for every begin of a paragraph with the begin hook code there a corresponding end with the closing hook code. This can fail, e.g if a |vbox| doesn't correctly issue a |\par| at the end. If this happens the tagging structure can get every confused. It is therefore needed to check the structure carefully as currently -no checks are implemented to check this automatically. +no checks are implemented to check this automatically. \subsection{Task 2: Marking the structure} diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty index 93290cea0e..da42672f44 100644 --- a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty +++ b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty @@ -1,5 +1,5 @@ %\RequirePackage[enable-debug]{expl3}[2018/06/14] -\ProvidesExplPackage {tagpdfdocu-patches} {2021-06-29} {0.9} +\ProvidesExplPackage {tagpdfdocu-patches} {2021-07-03} {0.91} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox} %%%% -- cgit v1.2.3